|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||||
|
Candidat au titre de Membre du Club
![]() Étudiant Inscription : mai 2011 Messages : 124 ![]() |
Bonjour, je suis actuellement bloqué sur le multi upload. Je m'explique, j'ai réussi a uploader un fichier dans le répertoire que j'ai voulu mais avec plusieurs fichiers on m'a dit qu'il fallait que je présente ma balise sous la forme : <input type="file" name="fichier[]"> mais je n'arrive pas récupérer ces données dans mon script après. J'ai utilisé un foreach.
Partie formulaire.php : Code :
Code :
|
||||
|
|
00
|
|
|
#2 | ||||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Un exemple t'aidera sûrement à y voir plus clair:
Coté HTML: Code :
Code :
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
||||
|
00
|
|
|
#3 |
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 242 ![]() |
Pour info, avec les navigateurs récents et mis à jour (excepté IE 9) tu peux utiliser l'attribut "multiple" pour permettre le téléchargement multiple avec un seul champ. Avec cette option on peut sélectionner plusieurs fichiers en maintenant la touche Ctrl appuyée (il faut que les fichiers soient dans le même répertoire).
Code :
<input type="file" name="files[]" multiple="multiple" />
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
|
|
00
|
|
|
#4 | ||||
|
Candidat au titre de Membre du Club
![]() Étudiant Inscription : mai 2011 Messages : 124 ![]() |
Merci de votre aide mais je viens de tester et ça ne marche toujours pas..
Nouveau code : Code :
Citation:
Citation:
|
||||
|
|
00
|
|
|
#5 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
01
|
|
|
#6 | ||
|
Candidat au titre de Membre du Club
![]() Étudiant Inscription : mai 2011 Messages : 124 ![]() |
Excusez-moi je suis nouveau..
Code :
|
||
|
|
00
|
|
|
#7 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
On dirait que tu n'as pas tenu compte de mon exemple: il ne suffit pas de boucler sur $_FILES pour que ton code marche miraculeusement.
Pour accéder au nième fichier dans la liste, il faut utiliser Code :
$tmp_name = $_FILES["files"]["tmp_name"][$key];
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#8 | ||
|
Candidat au titre de Membre du Club
![]() Étudiant Inscription : mai 2011 Messages : 124 ![]() |
Désolé mais je viens de débuter en php c'est pour cela que je fais des erreurs je pense de débutant encore..
Code modifié : Code :
|
||
|
|
00
|
|
|
#9 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
On s'approche.
Quelques erreurs: Ligne 10 Code :
$extension = strrchr($_FILES['fichier']['name'][$key], '.'); Code :
if(move_uploaded_file($_FILES['fichier']['tmp_name'][$key], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#10 |
|
Candidat au titre de Membre du Club
![]() Étudiant Inscription : mai 2011 Messages : 124 ![]() |
Je vous remercie de votre aide cela marche parfaitement ! Par contre j'ai encore deux petites questions si vous pouvez encore m'aider, cela concerne l'envoie multiple de mail (je dois faire comme pour les type="file" c'est-à-dire mettre name=email[] ?) et ma deuxième question et le multi upload marche parfaitement sauf que lorsque je ne remplie pas les parcourir, quand je fais submit il me renvoie : Upload effectué avec succès !Upload effectué avec succès !Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt, doc, mp3 ou encore aviVous devez uploader un fichier de type png, gif, jpg, jpeg, txt, doc, mp3 ou encore avi
Merci de votre aide et désolé du dérangement encore |
|
|
00
|
|
|
#11 | ||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Tu as oublié de mettre une sécurité sur $_FILE.
De cette façon: Code :
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
||
|
00
|
|
|
#12 |
|
Candidat au titre de Membre du Club
![]() Étudiant Inscription : mai 2011 Messages : 124 ![]() |
Merci de votre aide encore. Je n'ai pas compris la sécurité pour $FILES et pour l'envoi de mails je pense que j'ai saisi le raisonnement avec le array.
Cordialement |
|
|
00
|
|
|
#13 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Permet de vérifier que l'envoi du fichier à bien été effectué et que le champ n'a pas été laissé vide
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#14 |
|
Candidat au titre de Membre du Club
![]() Étudiant Inscription : mai 2011 Messages : 124 ![]() |
D'accord c'est ce que je cherchais merci beaucoup. Une dernière question comment faire pour que le message : "Upload effectué avec succès !" n'apparaisse pas 4 fois si l'utilisateur upload 4 fois des fichiers.
Cordialement |
|
|
00
|
|
|
#15 | ||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
C'est quelque chose que tu devrais savoir faire par toi même.
On pourrait faire ça avec un compteur tout simple, ça ressemblerait à: Code :
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
||
|
00
|
|
|
#16 |
|
Candidat au titre de Membre du Club
![]() Étudiant Inscription : mai 2011 Messages : 124 ![]() |
Je n'ai pas compris la fonction array_keys.. et ni pourquoi vous avez créé un array désolé. Je pensais qui fallait faire un if
Cordialement |
|
|
00
|
|
|
#17 | |
![]() ![]() Andry Aimé Inscription : septembre 2007 Messages : 5 128 ![]() |
Bonsoir,
Utilise strtolower pour l'extension sinon les fichiers avec les extensions en Majuscule ne passe pas. Code :
in_array(strtolower($extension), $extensions) Citation:
A+. |
|
|
|
00
|
|
|
#18 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
comme décrit dans la doc de array_keys, cette fonction sert deux buts: déterminer si un élément est présent dans un tableau et obtenir les clés des éléments d'un tableau. Dans notre cas, on s'en sert pour trouver les retours true et false renvoyés par move_uploaded_file afin de les compter et n'afficher un message qu'une seule fois.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#19 |
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 242 ![]() |
Quand on comprend pas, la meilleure méthode est encore de commencer par regarder sur le manuel
Donc array_keys retourne les clés d'un tableau avec éventuellement en deuxième paramètre une fonction de tri, et en troisième paramètre le mode de comparaison de la fonction de tri. Code :
$upload_results[$fichier] = move_uploaded_file(...); en faisant array_keys($upload_results[$fichier], true, true) on retourne donc le tableau des fichiers qui ont été téléchargés, et avec array_keys($upload_results[$fichier], false, true) le tableau des fichiers qui ne l'ont pas été.
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
|
|
10
|
|
|
#20 |
|
Candidat au titre de Membre du Club
![]() Étudiant Inscription : mai 2011 Messages : 124 ![]() |
Merci beaucoup de votre aide vous m'avez beaucoup aidé et désolé de la gène encore !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com