Bonjour à tous.
Dans le développement d'un site, je souhaite pouvoir attribuer une image à un élément. Pour cela, je souhaite uploader l'image sur le serveur en question. Pour ce faire, je me suis basé sur la note rédigée par Antoine Hérault et disponible ici. Je l'ai ensuite adapté afin d'obtenir ceci :
Code PHP : 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 $dossier = './../img/affiche/'; $fichier = basename($affiche['name']); $taille_maxi = 2048000; $taille = filesize($affiche['tmp_name']); $extensions = array('.png', '.gif', '.jpg', '.jpeg', '.pdf'); $extension = strrchr($affiche['name'], '.'); //Début des vérifications de sécurité... if(!in_array($extension, $extensions)) { $msg='Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...'; $erreur=1; } if($taille>$taille_maxi) { $msg= 'Le fichier est trop gros...'; $erreur=1; } if($erreur!=1) //S'il n'y a pas d'erreur, on upload { //On formate le nom du fichier ici... $fichier = strtr($fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier); echo "Affichage des valeurs obtenues:<br>"; // echo "affiche['name']: ".$affihce['name']."<br>"; echo "taille: $taille<br>"; echo "dossier: $dossier<br>"; echo "fichier: $fichier<br>"; if(move_uploaded_file($_FILES['affiche']['tmp_name'], $dossier . $fichier)) { echo 'Upload effectué avec succès !'; } else //Sinon (la fonction renvoie FALSE). { echo 'Echec de l\'upload !'; } } else { echo $msg; }
Lorsque j'exécute le code, j'obtiens systématiquement le message "Echec de l'upload".
Les valeurs que je récupère sont les suivant :
Quelqu'un pourrait-il me dire où je dois regarder afin de trouver mon erreur ?Envoyé par valeur obtenue
Au niveau des droits, je les ai placé sur le dossier se trouvant sur le serveur à 755 comme conseillé au début du tuto.
Pour information, la variable $affiche est obtenue comme ceci
et donc le nom du champs dans le formulaire est 'affiche'.
Code php : Sélectionner tout - Visualiser dans une fenêtre à part $affiche=(isset($_FILES['affiche'])) ? $_FILES['affiche']: Null;
Pour toutes informations complémentaires nécessaire à la recherche de la cause du problème, veuillez me le signaler et je tâcherai de fournir l'information le plus rapidement possible.
En vous remerciant pour l'aide et les astuces que vous pourrez me communiquer, je vous souhaite de passer une bonne journée.
Partager