Upload d'images

Résolu
X-Fan Messages postés 805 Date d'inscription   Statut Membre Dernière intervention   -  
X-Fan Messages postés 805 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Parce qu'il faut toujours que ça fasse ça, et bien ça le fait.
J'ai un formulaire qui sert à uploader des images (une ou plusieurs). Alors, tout allait bien mais vendredi, notre hébergeur a déplacé notre site sur un autre serveur. On a réussi à le remettre fonctionnel au complet (en modifiant les settings de php.ini). Tout marche bien sauf mon formulaire d'upload.

Mon problème vient que je test si c'est une image en utilisant la fonction getimagesize(). S'il retourne false, c'est que ce n'est pas une image. Mais voilà, le problème, c'est que plus rien ne marche. Au moment de valider si c'est une image, il retourne toujours false (que ce soit vraiment une image ou pas). Et je comprend plus là. Mon code n'a pas bougé, tout marche sauf ça.

Quelqu'un à une suggestion à faire parce que je vois pas là. J'ai essayé un tas d'autres fonctions pour vérifier le type et tout, mais rien à faire. Je ne sais pas si c'est un oubli dans la config ou à cause de la version de php (5.2.6). J'ai bien mis un MAX_FILE_SIZE dans mon formulaire, j'ai mis les deux variables de php.ini avec une valeur et j'ai bien fait attention de spécifier un répertoire temporaire et d'autoriser l'upload de fichier (mis à ON).

Qu'est-ce que j'ai pu oublié :(

7 réponses

Tiller Messages postés 781 Date d'inscription   Statut Membre Dernière intervention   211
 
Avec le code sous les yeux on pourrait peut être t'aider
0
X-Fan Messages postés 805 Date d'inscription   Statut Membre Dernière intervention   24
 
Le code fait 15km de long et il fonctionnait bien avant (sans y toucher et même sur un autre hébergeur). Le problème ne vient surement pas de là. Je pensais plutôt à la config mais j'ai retouché tout ce que j'avais du modifié la première fois. Donc s'il y a autre chose, ce n'était pas moi qui l'avait modifié et donc c'est peut-être là que je coince.

Si tu veux un petit bout du code, là mais je doute que tu y vois grand chose:
if ($valide==1){

//on vérifie que ce sont tous des images

foreach($active_keys as $key){
if(!getimagesize($_FILES[$fieldname]['tmp_name'][$key])){
$valide=5;
}
}

...

et ça finit beaucoup plus loin donc bref. Cette ligne retourne toujours faux (dans le if). Je ne comprend pas pourquoi.
Sais-tu comment dois être écrite la ligne dans php.ini qui indique le répertoire temporaire. Car je me demande si ça ne vient pas de là. :o
0
X-Fan Messages postés 805 Date d'inscription   Statut Membre Dernière intervention   24
 
Peut-être que j'ai une piste. Voilà mon phpinfo:
upload_tmp_dir no value no value

Pourtant dans php.ini, cette variable a une valeur donnée. Comprend plus rien. :P

upload_tmp_dir = /uploadtmp

Dois-je mettre un chemin complet ou pas? Et indiquer un "." avant le /? Et ajouter un / à la fin? Je ne rappelle vraiment pas ce que j'avais mis sur l'ancien serveur. Quelqu'un sait comment doit être formaté cette variable?
0
Tiller Messages postés 781 Date d'inscription   Statut Membre Dernière intervention   211
 
Ton script n'est pas top.. il dépend du serveur en fait.
getimagesize($_FILES[$fieldname]['tmp_name'][$key])

Il veux récuperer les dimensions du fichier du nom du fichier temporaire, MAIS dans le répertoire courant. Donc si les fichiers temp y sont, pas de probleme (Mais sa n'arrive jamais) sinon sa renvoi toujours false.
Alors soit tu l'upload et apres tu vérifies, soit tu fais par l'extention.
0
X-Fan Messages postés 805 Date d'inscription   Statut Membre Dernière intervention   24
 
Non mais en fait je crois qu'il trouve pas les fichiers dans le répertoire temporaire car php.ini refuse de mettre à jour le répertoire.

Je lui indique de suivre un chemin et il inscrit toujours "no value" quand je vérifie la config du serveur. Et là je vois pas pourquoi. Ma variable est là et a une valeur. Je vois pas c'est quoi son problème. O_O

Il ne peut pas tester de la taille sur quelque chose qui n'existe pas, c'est évident. Là si tu as une idée du pourquoi, ça aiderait car je vois pas.

Mes images, je les upload dans le dossier temporaire, je vérifie et si c'est bon je mets dans le répertoire final. L'extension n'est pas toujours une bonne façon de faire car si je prend un fichier texte et que je le renomme en gif, ce sera considéré comme une image et pourtant s'en est pas une.

Donc voilà, je vais, au pire, écrire au support technique de l'hébergeur pour savoir pourquoi leur service est aussi pourri. NIARK NIARK :P
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Tiller Messages postés 781 Date d'inscription   Statut Membre Dernière intervention   211
 
Les hébergeur mutualisé ne permettent en general pas de modifier le dossier temporaire, et ne le rendent pas accesible
0
X-Fan Messages postés 805 Date d'inscription   Statut Membre Dernière intervention   24
 
Si si je l'avais fait sur le site d'avant et on a toujours été sur serveur partagé. Cependant, ils ne savent pas configurer un serveur comme un autre chez eux. Chaque technicien doit y mettre du sien et donc tu te retrouves avec 20 config différentes lol.

De toute évidence, je vais leur dire que je le faisais avant et que j'aimerais qu'il l'arrange pour que je puisse continuer. Après tout, c'était leur idée de changer et ils ont promis que tout fonctionnerait comme avant. A eux d'assurer maintenant XD
0
Tiller Messages postés 781 Date d'inscription   Statut Membre Dernière intervention   211
 
Ils ne feront rien.
0
X-Fan Messages postés 805 Date d'inscription   Statut Membre Dernière intervention   24
 
Alors, le problème venait effectivement de là. La variable n'était pas prise en compte et donc les fichiers n'étaient stockés nul part et donc il ne pouvait effectivement pas voir que c'était une image puisque ça n'existait pas.

L'hébergeur a mis un dossier qui fonctionne dans php.ini (sans doute que c'est le seul dossier autorisé à ça ou je ne sais pas).

Mon formulaire fonctionne à nouveau correctement. Je n'avais donc rien oublié. Merci pour tes suggestions Tiller ;)

A+ tout le monde
0
X-Fan Messages postés 805 Date d'inscription   Statut Membre Dernière intervention   24
 
S'ils permettent de changer file_upload a "ON", ce serait ridicule qu'ils ne permettent pas ça. Et puis, tu ne le connais pas mon hébergeur. C'est pas un de ses machins connus et BS qui limite tellement les possibilités que tu ne peux quasiment plus rien faire sur ton propre site.

Comme ils avaient promis que le site profiterait du même service en le déplaçant, ils vont devoir coopérer. ^^
0