|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Candidat au titre de Membre du Club
![]() Inscription : août 2008 Messages : 66 ![]() |
Bonjour,
J'utilise le plugin jquery form, côté client, il permet d'uploader des images et récupérer l'url de l'image uploadée. J'ai trouvé du code intéressant ici Seul souci, c'est que le script proposé côté serveur utilise codelgniter que je ne connais pas du tout. J'ai donc essayé de transcrire ce code en php, pour le traitement de l'upload et c'est là que cela coince. voici mon code : index.php Code :
Code :
upload_php.php Code :
|
||||||
|
|
00
|
|
|
#2 | ||
|
Membre éclairé
![]() ![]() Développeur Web Inscription : juin 2009 Messages : 363 ![]() |
A première vue, je dirais que le fichier PHP appelé par l'AJAX n'a qu'une fonction, donc rien ne s'execute...
Essaie de remplacer ton fichier upload.php par : Code :
|
||
|
00
|
|
|
#3 |
|
Membre Expert
![]() Développeur informatique Inscription : août 2005 Messages : 1 179 ![]() |
Bonjour,
Effectivement je ne crois pas que tu aies besoin de créer une méthode upload_file() dans le fichier upload_php.php... du moins avec Prototype, tu ne le fais pas... Sinon, ça ne serait pas à cause de ça ? : devrait être :
__________________
http://cdemarche.developpez.com/ Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
|
|
|
00
|
|
|
#4 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : août 2008 Messages : 66 ![]() |
Bonjour et merci pour vos suggestions. Alors j'ai essayé de rajouter
Code :
Si je l'enlève, j'ai alors une erreur de firebug qui me dit data=null soit, la fonction callback n'a rien reçu ! Je suppose donc qu'il faut simplement que je supprime ma fonction ? (pour le $nom, j'avais en effet fait une erreur !) |
||
|
|
00
|
|
|
#5 | ||||
|
Membre éclairé
![]() ![]() Développeur Web Inscription : juin 2009 Messages : 363 ![]() |
Donc ça vient bien de là...
Maintenant, tu encodes en json mais tu ne décodes pas... forcément ça foire aussi. Avec json par exemple : function success jquery Donc : Code :
Code :
j'avais pas vu ton dataType... Si jamais ça ne marche pas, ce qui ne m'étonnerait pas, essaie d'enlever ce dataType... On verra bien ^^' |
||||
|
00
|
|
|
#6 | ||||
|
Candidat au titre de Membre du Club
![]() Inscription : août 2008 Messages : 66 ![]() |
merci pour la rapidité !
Alors, bizarre bizarre, retour à la case départ.. on dirait que cela n'aboutit pas.. j'ai la requette envoyée, mais mon gif est toujours là et aucune image n'est déplacée vers uploads.. donc le script ne renvoi rien. Voilà mes fichiers actuellement (décodage de json ajouté, pour l'histoire du datatype, ça viens d'ici aussi : la) : upload_php.php Code :
Code :
|
||||
|
|
00
|
|
|
#7 |
|
Membre éclairé
![]() ![]() Développeur Web Inscription : juin 2009 Messages : 363 ![]() |
Bon alors Firebug va nous servir !
Ouvre ton Firebug et va dans "console". Regarde quand tu envoies ton form si tu as quelques chose comme l'image jointe. Trois possibilités : Oui (si ce n'est pas rouge): Ton fichier a bien été trouvé, bien executé... Clique dessus pour voir la réponse. Oui (rouge) : problème dans le fichier, surenement non trouvé. rien : ton ajax se lance pas du tout. Tiens nous au courrant (screen si tu peux |
|
00
|
|
|
#8 | ||||||
|
Candidat au titre de Membre du Club
![]() Inscription : août 2008 Messages : 66 ![]() |
Tout d'abord merci, et désolé pour le retard. Alors oui ma requête POST est bien exécutée vers mon fichier upload_php.php
Voilà la réponse : Code :
EDIT2: Je viens de tester l'affichage de $_FILES['file']['name'] et mistère, cela n'affiche rien.. donc aucun fichier n'est présent ?? soit l'envoie se passe mal, soit la réception se passe mal.. (mes tests de dessous sont tous liés à ce problème, pas de nom donc pas d'extension et rien à déplacer du coup.. d'où les erreurs succéssives ) Je ne comprends pas d'où viens le problème.. j'ai fait afficher la variable $nom à la suite du message d''erreur et voilà ce que j'ai en mettant "./upload/" : Code :
{"erreur":1,"message":"echec du transfert vers uploads .\/uploads\/328838cd4c1e29d3de541955f7723a54"} Code :
{"erreur":1,"message":"echec du transfert vers uploads uploads\/1698e7d39df17413138bab07a777d299 Ensuite j'ai fait un test, j'ai modifié la condition de mon if juste après le déplacement Code :
et là la réponse est : Code :
{"erreur":1,"message":"Fichier incorrect"} Toujours dans l'optique de test j'ai modifié alors mon if de test d'extension : Code :
![]() |
||||||
|
|
00
|
|
|
#9 | ||
|
Membre éclairé
![]() ![]() Développeur Web Inscription : juin 2009 Messages : 363 ![]() |
Bonjour,
En y regardant de plus près, je note aussi : Code :
Pour ne pas tout modifier, je te conseille de remplacer tous tes "myFile" par "file" et de tester. Reposte l'erreur s'il y en a une autre |
||
|
10
|
|
|
#10 | ||||
|
Candidat au titre de Membre du Club
![]() Inscription : août 2008 Messages : 66 ![]() |
Bingo t'as trouvé le princiapl souci !! merci beaucoup.. l'habitude du JS m'a fait oublier le champs "nom" ! Alors je récap' tous les soucis, car il y en avait d'autres.
La fonction base_url était inconnue. Ensuite ma variable $reponse n'etait pas identifiée au début, du coup s'il n'y avait pas d'erreur et bien certain test échouaient. Pour finir le dataType de mon JS est indispensable, et le JSONparse n'est par contre pas utile. Voici donc le code final: upload_php.php Code :
Code :
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com