Bonjour,
J'utilise le code PHP suivant afin d'uploader plusieurs fichiers dans un répertoire, j'essaie de modifier ce code afin de passer par une variable le nom du dossier.
La variable récupérée par POST ($ProcedureRef) passe et s'affiche correctement, mais le script affiche l'erreur suivante, je pense que c'est du à la boucle, mais je ne sais pas comment solutionner ce problème...
Notice: Undefined index: ProcedureRef in C:\xxxx\upload.php on line 5
Fichier n°3 uploadé : AA.pdf (1197 ko)
Opération terminée.Merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94 <?php error_reporting(E_ALL); $variables = get_defined_vars(); // JE RECUPERE LA VARIABLE N° de PROCEDURE $ProcedureRef = $_POST['ProcedureRef']; echo $ProcedureRef; //=============================================================================== // // UPLOAD HTTP // //=============================================================================== $maxfiles = 3; $maxsize = 2000000; $finaldir = '$ProcedureRef'; //=============================================================================== // TRAITEMENT DU FORMULAIRE //=============================================================================== if(isset($_POST['valider'])){ //============================================================================= // TEST DU NOMBRE DE FICHIERS POSTES //============================================================================= $nbr=0; for($x=0;$x<$maxfiles;$x++) if(!empty($_FILES['userfile']['name'][$x])) $nbr++; if($nbr<=0) die("Aucun fichier spécifié !<br/>"); //============================================================================= // CREATION DE L'ARBORESCENCE POUR LE DOSSIER DESTINATION //============================================================================= if(!empty($finaldir)) { if(substr($finaldir,strlen($finaldir)-1,1)=='/') $finaldir.='/'; $dir=explode('/',$finaldir); $finaldir=''; for($x=0;$x<count($dir);$x++) { $finaldir.=$dir[$x].'/'; if(!@is_dir($finaldir)) @mkdir($finaldir,0777); } if(!@is_dir($finaldir)) die("Le dossier $finaldir est invalide !<br/>"); } //============================================================================= // TELECHARGEMENT DES FICHIERS //============================================================================= for($x=1;$x<=$maxfiles;$x++) { $errorhttp=$_FILES['userfile']['error'][$x-1]; $filenamehttp=$_FILES['userfile']['name'][$x-1]; $typehttp=$_FILES['userfile']['type'][$x-1]; $sizehttp=$_FILES['userfile']['size'][$x-1]; $tmpfilehttp=$_FILES['userfile']['tmp_name'][$x-1]; if (($errorhttp)and(!empty($filenamehttp))) { switch ($errorhttp){ case 1: echo "Erreur : Le fichier n°$x est trop grand !<br/>";break; case 2: echo "Erreur : Le fichier n°$x est trop grand !<br/>";break; case 3: echo "Erreur : Transfert du fichier n°$x interrompu !<br/>";break; case 4: echo "Erreur : Le fichier n°$x est vide !<br/>";break; } } else { if((!empty($filenamehttp))and($sizehttp>0)) { if($sizehttp<=$maxsize){ if(@is_uploaded_file($tmpfilehttp)) { if(@eregi('.php',$filenamehttp)) $filenamehttp.='.txt'; if(filesize($tmpfilehttp)==$sizehttp) { if(@move_uploaded_file($tmpfilehttp,$finaldir.$filenamehttp)) { @chmod($filenamehttp,0777); echo "Fichier n°$x uploadé : ".basename($filenamehttp). " (".round(max($sizehttp,1024)/1024)." ko)<br/>"; } else echo "Erreur de téléchargement du fichier n°$x !<br/>"; } else echo "Erreur de téléchargement du fichier n°$x !<br/>"; } else echo "Erreur de téléchargement du fichier n°$x !<br/>"; } else echo "Erreur : Le fichier n°$x est trop grand !<br/>"; } // else echo "Le fichier n°$x est introuvable ou vide !<br/>"; } } die ("Opération terminée.<br/>"); } //=============================================================================== // FORMULAIRE HTML //=============================================================================== echo '<form method="post" enctype="multipart/form-data"'. ' onSubmit="document.getElementById(\'valider\').style.visibility=\'hidden\';">'. '<input type="hidden" name="MAX_FILE_SIZE" value="'.$maxsize.'"/>'; for($x=1;$x<=max($maxfiles,1);$x++) echo ' Fichier n°'.$x.' : <input type="file" name="userfile[]" size="20"/><br/>'; echo '<br/><input type="submit" name="valider" value="Envoyer..."/>'. '</form>'; //=============================================================================== ?>
Partager