Bonjour à tous,
J'essaie de permettre à certains visiteurs de copier des images dans un dossier de mon serveur.
J'ai un formulaire simple :
L'action du formulaire est ici :
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 <?php $max_no_img=10; // Maximum number of images value to be set here echo "<form method=post action=PHP/reception_photo.php enctype='multipart/form-data'>"; echo "<table border='0' width='400' cellspacing='0' cellpadding='0' align=center>"; for($i=1; $i<=$max_no_img; $i++){ echo "<tr><td>Images $i</td><td> <input type=file name='images[]' class='bginput'></td></tr>"; } echo "<tr><td colspan=2 align=center><input type=submit value='Add Image'></td></tr>"; echo "</form> </table>"; ?>
Je n'ai aucune erreur, j'ai copie OK (deux fois pour deux photos), un var_dump($_FILES) m'indique les infos des photos, mais aucune photo n'est copiée sur le serveur.
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 <?php while(list($key,$value) = each($_FILES['images']['name'])) { if(!empty($value)) { // this will check if any blank field is entered $filename = $value; // filename stores the value $filename=str_replace(" ","_",$filename);// Add _ inplace of blank space in file name, you can remove this line $add = "C:\wamp\upload/"; // upload directory path is set //echo $_FILES['images']['type'][$key]; // uncomment this line if you want to display the file type //echo "<br>"; // Display a line break if(copy($_FILES['images']['tmp_name'][$key], basename($add))) // upload the file to the server { echo "copie ok"; } else { echo "copie pas ok ." . die(); } //chmod("$add",0777); // set permission to the file. } } ?>
Le dossier à des permissions de modifications, ce n'est donc pas un problème de droit.
Le problème doit provenir du basename($add) car il ne m'indique pas le nom complet du path.
Si je le retire, j'ai ceci :
ligne 52 :Warning: copy() [function.copy]: The second argument to copy() function cannot be a directory in C:\wamp\www\Congres\PHP\reception_photo.php on line 52
Voyez-vous où se trouve le problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if(copy($_FILES['images']['tmp_name'][$key], $add)) // upload the file to the server
Merci d'avance.
beegees
Partager