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 -