begin process at 2012 05 30 21:05:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Fonction PHP


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fonction PHP

mercredi 16 décembre 2009 à 17:50:36 | Fonction PHP

kyoku59

Bonjour.

Voilà je détient un formulaire HTML ou j'envoie plusieurs fichier .doc

J'ai créé un fonction avec en paramétre :
$nameFile le nom de mon <input type="file">,
$data pour moi reprendre un élément de la table de ma base de données
$varTable qui sera ma variable qui sera enregistré dans ma table.

mais sans résultat. Voici mon code :

Code PHP :
					
function uploadDossier($nameFile, $data, $varTable)
{
	//dossier où sont placé lES FICHIERS
	$repertoire = '../Dossiers_inscriptions/'; 
	
	$test = $_FILES['$nameFile']['tmp_name'];
	
	if ($test != null) 
	{
		if (is_uploaded_file($_FILES["$nameFile"]["tmp_name"])) {
		// recupération de l'extension du fichier (aprés le dernier point
		$nomFichier = $_FILES["$nameFile"]["name"];
		$extension = substr($nomFichier, strrpos($nomFichier, "."));
		// Contrôle de l'extension du fichier
		if (eregi("^ph", $extension)) {
		die("Les fichiers en .ph* ne sont pas autorisés.");
		}
		$cheminFichier = $nomFichier ;
		move_uploaded_file ($_FILES["$nameFile"]["tmp_name"], $repertoire.$cheminFichier);
		}
		$varTable = $repertoire.$cheminFichier;
	}
	else
	{
		//récupération du chemin déjà existant dans la table
		$varTable = $data['$data'];
	}
	
	return $varTable;
}



J'appel ensuite cette fonction ainsi :

Code PHP :
	$nameFile = 'wCheminPage1';
	$data = 'cheminP1';
	uploadDossier($nameFile, $data, $mD1);


Merci pour votre aide
mercredi 16 décembre 2009 à 21:43:41 | Re : Fonction PHP

kohntark

Membre Club
Salut,

Il y a pas mal d'erreurs dans ton code.
Lorsque tu es confronté à ce genre de problème il faut "blinder" d'echo, print_r, var_dump, ... et activer l'affichage des erreurs :
Code PHP :
<?php
ini_set('display_errors', 1);
error_reporting(-1);
?>

(au début du fichier et UNIQUEMENT pour le debug)

Par exemple en faisant ça :
Code PHP :
$test = $_FILES['$nameFile']['tmp_name'];
die('valeur de $test => '.$test); //debug uniquement

Tu t'apercevrai qu'il y a plusieurs soucis :
Déjà $test = $_FILES['$nameFile']['tmp_name'];
s'écrit $test = $_FILES[$nameFile]['tmp_name'];

Sachant que $nameFile contient la chaîne wCheminPage1 ça te donnera :
$_FILES['wCheminPage1']['tmp_name'] ... ce qui ne correspond à rien.

Il faut que tu passes le nom temporaire du fichier posté à ta fonction :
$nameFile = $_FILES['nameFile']['tmp_name'];

Voici un exemple de choses que tu pourrais faire pour débugger :
Code PHP :
<?php
function uploadDossier($nameFile, $data, $varTable) {
    print_r(func_get_args());
    //dossier où sont placé lES FICHIERS
    $repertoire = '../Dossiers_inscriptions/'; 
    
    $test = $_FILES['$nameFile']['tmp_name'];
    echo 'valeur de $test => '.$test.'<br />';
    
    
    if ($test != null) {
        echo 'si ce message s\'affiche c\'est que test n\'est pas null<br />';
        if (is_uploaded_file($_FILES["$nameFile"]["tmp_name"])) {
            echo 'yes, c\'est bien un fichier uploadé !!<br />';
            // recupération de l'extension du fichier (aprés le dernier point
            $nomFichier = $_FILES["$nameFile"]["name"];
            $extension = substr($nomFichier, strrpos($nomFichier, "."));
            
            echo 'le nom de fichier est : '.$nomFichier.'<br />son extension est : '.$extension.'<br />';
            
            // Contrôle de l'extension du fichier
            if (eregi("^ph", $extension)) { // attention, c'est déprécier, utilise preg_match désormais !!
                die("Les fichiers en .ph* ne sont pas autorisés.");
            }
            $cheminFichier = $nomFichier ;
            if (false === move_uploaded_file ($_FILES["$nameFile"]["tmp_name"], $repertoire.$cheminFichier)) echo 'echec ds la fonction move_uploaded_file<br />'; else echo 'move_uploaded_file OK<br />';
        } else echo 'ce n\'est pas un fichier uploadé<br />';
        
        $varTable = $repertoire.$cheminFichier;
    } else {
    //récupération du chemin déjà existant dans la table
        $varTable = $data['$data'];
        echo 'gaffe : test est null !!!<br />';
    }
    
    echo 'valeur retournée par la fonction : '.$varTable;
    return $varTable;
}
?>


Ce n'est qu'un exemple qui est là pour attirer ton attention sur la nécessité de connaitre ce qu'il se passe réellement dans ton script.

Cordialement,



Kohntark -

mercredi 16 décembre 2009 à 22:57:34 | Re : Fonction PHP

kyoku59

Je te remercie beaucoup de m'avoir répondu et de m'avoir mis sur une piste.
jeudi 17 décembre 2009 à 16:29:11 | Re : Fonction PHP

kyoku59

Réponse acceptée !
Voilà pour ce qui veulent la réponse avec la reprise du code du dessus :


Code PHP :
function uploadDossier($nameFile, $data, $varTable) {
    print_r(func_get_args());
    //dossier où sont placé lES FICHIERS
    $repertoire = '../Dossiers_inscriptions/'; 
    
    $test = $_FILES[$nameFile]['tmp_name'];
    echo 'valeur de $test => '.$test.'<br />';
    
    
    if ($test != null) {
        echo 'si ce message s\'affiche c\'est que test n\'est pas null<br />';
        if (is_uploaded_file($_FILES[$nameFile]["tmp_name"])) {
            echo 'yes, c\'est bien un fichier uploadé !!<br />';
            // recupération de l'extension du fichier (aprés le dernier point
            $nomFichier = $_FILES[$nameFile]["name"];
            $extension = substr($nomFichier, strrpos($nomFichier, "."));
            
            echo 'le nom de fichier est : '.$nomFichier.'<br />son extension est : '.$extension.'<br />';
            
            // Contrôle de l'extension du fichier
            if (eregi("^ph", $extension)) { // attention, c'est déprécier, utilise preg_match désormais !!
                die("Les fichiers en .ph* ne sont pas autorisés.");
            }
            $cheminFichier = $nomFichier ;
            if (false === move_uploaded_file ($_FILES[$nameFile]["tmp_name"], $repertoire.$cheminFichier)) echo 'echec ds la fonction move_uploaded_file<br />'; else echo 'move_uploaded_file OK<br />';
        } else echo 'ce n\'est pas un fichier uploadé<br />';
        
        $varTable = $repertoire.$cheminFichier;
    } else {
    //récupération du chemin déjà existant dans la table
        $varTable = $data['$data'];
        echo 'gaffe : test est null !!!<br />';
    }
    
    echo 'valeur retournée par la fonction : '.$varTable;
    return $varTable;
}


Avec l'appel de la fonction

Code PHP :
		$nameFile = 'wCheminPage1';
		$data = 'cheminP1';
		$mD1 = '';
		$mD1 = uploadDossier($nameFile, $data, $mD1);


Bonne continuation a tous


Cette discussion est classée dans : fonction, code, data, vartable, namefile


Répondre à ce message

Sujets en rapport avec ce message

Fonction PHP : Convertir un code VB en HTML [ par microdav ] Bonjour,Je recherche une fonction PHP pour convertir un code VB en code HTML avec respect des couleurs.Quelqu'un a t il cela en stock s'il vous plait window.alert dans fonction print("") [ par pyranhaz ] Bonjour, je cherche à avoir une fenêtre d'alerte lorsque le visiteur clique sur mes liens, mais je n'y arrive pas...ma fonction print est comme ci-des appel d'une fonction [ par ASPerix ] Bonjour,Voila mon probleme:(j'utilise une base de données MySQL)j'affiche une ligne d'une de mes tables avec un 'select' et j'ajoute un bouton qui fai fonction avec condition pas finie? [ par lan0sic ] Bonjour.Voila mon code :      if($boolean)  {       & fonction mail -> 23 caracteres max. [ par attentio ] bonsoir G un soucis pour envoyer des mails depuis mon siteen fait ce qu'il se passe C que si mon message a une chaine de caractere supérieur a 23 cara pb de fonction et appel de fonction [ par KaViDee ] Salut,je voulais savoir ce qui clochait dans mon code car je voulais faire cette fonction pour affichier la taille d'un fichier avec la bonne unité ma Bouton avec fonction php [ par MisterJAD ] Bonjour à tous,Voilà mon problème :J'utilise function password_generator($size , $with_numbers=true , $with_tiny_letters=true , $with_capital_letters= Code PHP dans une fonction JavaScript [ par Kleidp ] Salut à tousVoici mon problème:mon code PHP est inséré dans une fonction Javascript.La fonction est appellée quand on clique sur un checkbox.Le problè Php dans une fonction...Error.... [ par Benjamin G ] Bonjour,Ayant repris un theme.php d'un Theme de PHP-NUKE...Je voudrais affiché comme eux des fonctions par blocks...Voici mon fichier :function Fonction crypt() pour htpasswd [ par Houzefa ] salut,voilà ya quelques temps j'avais fait un fichier .htpasswd pour mettre un répertoire protégé sur mon site (serveur Apache normal). le mot de pass


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,952 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales