Bonjour,
J'ai fais une recherche sur le forum (et sur Google) pour éviter les doublons vu que les problèmes d'upload ont l'air d'être légion mais je n'ai pas trouvé d'info qui puisse m'aider.
Voici mon problème :
Lorsque je lance l'upload de mon fichier, le is_uploaded_file échoue. Apparemment, le fichier ne s'inscrit donc même pas dans le répertoire temporaire.
Voici mon formulaire :
Mon script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <form method="post" ENCTYPE="multipart/form-data" action="./includes/action_photo_blogposts.php"> <input type="hidden" name="max_file_size" value="2048"> <input type="file" name="fichier"> <input value="Ajouter" type="submit" name="upload"> </form>
Les lignes importantes du php_info :
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 <?php if( isset($_POST['upload']) ) // si formulaire soumis { $content_dir = '../../images/blog/'; // dossier où sera déplacé le fichier $tmp_file = $_FILES['fichier']['tmp_name']; if( !is_uploaded_file($tmp_file) ) { exit("Le fichier est introuvable"); } // on vérifie maintenant l'extension $type_file = $_FILES['fichier']['type']; if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') ) { exit("Le fichier n'est pas une image"); } // on copie le fichier dans le dossier de destination $name_file = $_FILES['fichier']['name']; if( !move_uploaded_file($tmp_file, $content_dir . $name_file) ) { exit("Impossible de copier le fichier dans $content_dir"); } echo "Le fichier a bien été uploadé"; } ?>
J'utilise Xampp pour Mac OS X et mon dossier temp est en 777.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 file_uploads On upload_max_filesize 2M upload_tmp_dir /Applications/xampp/xamppfiles/htdocs/temp
Les localisations des divers fichiers :
php.ini : /Applications/xampp/etc/php.ini
formulaire : /Applications/xampp/xamppfiles/htdocs/debussy/bakovitz/includes/photos_blogposts.php
script : /Applications/xampp/xamppfiles/htdocs/debussy/bakovitz/includes/action_photo_blogposts.php
dossier temporaire : /Applications/xampp/xamppfiles/htdocs/temp
le fichier php.ini tel que présenté plus haut a été modifié pour pointer vers mon dossier temp, à la base aucun dossier n'était spécifié donc j'imagine qu'il pointait vers ce dossier :
/Applications/xampp/xamppfiles/temp
Mais ça ne marchait pas non plus
A mon avis c'est un problème de chemin relatif/absolu mais ça dépasse un peu mes faibles capacités d'administrateur !
Merci d'avance pour votre aide![]()
Partager