Formulaire d’upload de fichier permettant les envois multiples
Résolu/Fermé
guillaumegilbertsoucy
Messages postés
332
Date d'inscription
vendredi 11 octobre 2013
Statut
Membre
Dernière intervention
1 décembre 2024
-
Modifié par Chris 94 le 17/01/2017 à 02:40
guillaumegilbertsoucy Messages postés 332 Date d'inscription vendredi 11 octobre 2013 Statut Membre Dernière intervention 1 décembre 2024 - 29 avril 2017 à 04:29
guillaumegilbertsoucy Messages postés 332 Date d'inscription vendredi 11 octobre 2013 Statut Membre Dernière intervention 1 décembre 2024 - 29 avril 2017 à 04:29
A voir également:
- Formulaire d’upload de fichier permettant les envois multiples
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Formulaire de réclamation facebook - Guide
7 réponses
Utilisateur anonyme
17 janv. 2017 à 10:18
17 janv. 2017 à 10:18
Utilise l'attribut multiple dans ton input comme ceci:
https://www.w3schools.com/tags/att_input_multiple.asp
https://www.w3schools.com/tags/att_input_multiple.asp
guillaumegilbertsoucy
Messages postés
332
Date d'inscription
vendredi 11 octobre 2013
Statut
Membre
Dernière intervention
1 décembre 2024
8
18 janv. 2017 à 06:01
18 janv. 2017 à 06:01
Bonsoir ZeNairolf!
C'est good ça mais comment avoir plusieurs bouton pour selectioner les files, c'est que c'est pour uploader des images et des vidéos prises avec mon Sony PSP directement sur un des server et c'est pas mal long de selectionner une file à la fois. Avec une machine "station de travail" avec Linux et Firefox il n'y auras pas de troubles car Firefox permet ça mais avec un PSP c'est impossible de selectionner deux file en même temps via leur "file manager" qui permet de voir les files qui sont sur le Memory Stick dans le PSP. C’est un fichier par selection.
Ce que ça prendrait c'est comme 20 bouton “Selectioner Fichier” et un seule bouton “Upload”. J’avais tenter de faire ça et oui il avais plusieurs bouton de selection et juste un bouton pour envoyer mais seule le fichier selectionné par le bouton de selection numéro 1 était envoyé au serveur, les autres files n’étaient pas envoyées.
Merci!
Guillaume
C'est good ça mais comment avoir plusieurs bouton pour selectioner les files, c'est que c'est pour uploader des images et des vidéos prises avec mon Sony PSP directement sur un des server et c'est pas mal long de selectionner une file à la fois. Avec une machine "station de travail" avec Linux et Firefox il n'y auras pas de troubles car Firefox permet ça mais avec un PSP c'est impossible de selectionner deux file en même temps via leur "file manager" qui permet de voir les files qui sont sur le Memory Stick dans le PSP. C’est un fichier par selection.
Ce que ça prendrait c'est comme 20 bouton “Selectioner Fichier” et un seule bouton “Upload”. J’avais tenter de faire ça et oui il avais plusieurs bouton de selection et juste un bouton pour envoyer mais seule le fichier selectionné par le bouton de selection numéro 1 était envoyé au serveur, les autres files n’étaient pas envoyées.
Merci!
Guillaume
guillaumegilbertsoucy
Messages postés
332
Date d'inscription
vendredi 11 octobre 2013
Statut
Membre
Dernière intervention
1 décembre 2024
8
22 janv. 2017 à 05:24
22 janv. 2017 à 05:24
Bonjour/Bonsoir ! (dépendamment de l'emplacement)
Est-ce que je pourrais avoir plus de conseils svp concernant le formulaire d’envoi multiples de fichiers ?
J’ai essayé la méthode qui ce trouvait sur le site https://www.w3schools.com/tags/att_input_multiple.asp mais comme je disait dans mon autre message, je ne peut pas faire ça avec ce code là car les Sony PSP permettes d’entrer juste un fichier à la fois à l’aide du gestionnaire de fichier. Si je clique encore sur le bouton pour sélectionner un fichier, le nouveau fichier sélectionné prend la place du premier que j’avais sélectionné initialement.
Avec un navigateur internet régulier comme par exemple Mozilla FireFox, ça fonctionne mais la raison de ce formulaire d’upload multiple c’est pour être utilisé avec un Sony PSP pour permettre l’upload de photos et de vidéos prises à partir de lui et de pouvoir envoyé ces photos et vidéos là en « batch » pour que cette tâche là prenne moins de temps. Pour pouvoir en arriver à ça, il faudrait qu’il ai plusieurs bouton « Sélectionner le fichier » et un seul bouton « Envoyé ».
Mais je sais pas quoi modifier dans le code pour faire ça.
Merci d’avance pour si je peut avoir un peut plus d’aide.
Guillaume
Est-ce que je pourrais avoir plus de conseils svp concernant le formulaire d’envoi multiples de fichiers ?
J’ai essayé la méthode qui ce trouvait sur le site https://www.w3schools.com/tags/att_input_multiple.asp mais comme je disait dans mon autre message, je ne peut pas faire ça avec ce code là car les Sony PSP permettes d’entrer juste un fichier à la fois à l’aide du gestionnaire de fichier. Si je clique encore sur le bouton pour sélectionner un fichier, le nouveau fichier sélectionné prend la place du premier que j’avais sélectionné initialement.
Avec un navigateur internet régulier comme par exemple Mozilla FireFox, ça fonctionne mais la raison de ce formulaire d’upload multiple c’est pour être utilisé avec un Sony PSP pour permettre l’upload de photos et de vidéos prises à partir de lui et de pouvoir envoyé ces photos et vidéos là en « batch » pour que cette tâche là prenne moins de temps. Pour pouvoir en arriver à ça, il faudrait qu’il ai plusieurs bouton « Sélectionner le fichier » et un seul bouton « Envoyé ».
Mais je sais pas quoi modifier dans le code pour faire ça.
Merci d’avance pour si je peut avoir un peut plus d’aide.
Guillaume
guillaumegilbertsoucy
Messages postés
332
Date d'inscription
vendredi 11 octobre 2013
Statut
Membre
Dernière intervention
1 décembre 2024
8
25 janv. 2017 à 21:40
25 janv. 2017 à 21:40
SVP? Quelqu'un?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
guillaumegilbertsoucy
Messages postés
332
Date d'inscription
vendredi 11 octobre 2013
Statut
Membre
Dernière intervention
1 décembre 2024
8
21 févr. 2017 à 04:23
21 févr. 2017 à 04:23
Bonsoir tous le monde.
Je sais que les réponses et l'aide sur CCM est faite bénévolement, mais il doit certainement y avoir quelqu'un sur ce forum qui doit savoir comment "multiplier" le code, si je peut me permettre d'appeler l'opération de cette façon.
Peut-être que ce message n'a tous simplement pas vu par cette personne.
@ZeNairolf
Votre contribution est exactment ce que je chercais, pour cette partie du code. Il faudrais juste que je sache maintenant comment de peut modifier le code pour crée plus de "Select File" et que le bouton "Upload/Envoyé" prenne en considération tous les fichiers entrés en cliquant sur "Select File".
Merci en espérant que je puisse trouver la solution.
Guillaume
Je sais que les réponses et l'aide sur CCM est faite bénévolement, mais il doit certainement y avoir quelqu'un sur ce forum qui doit savoir comment "multiplier" le code, si je peut me permettre d'appeler l'opération de cette façon.
Peut-être que ce message n'a tous simplement pas vu par cette personne.
@ZeNairolf
Votre contribution est exactment ce que je chercais, pour cette partie du code. Il faudrais juste que je sache maintenant comment de peut modifier le code pour crée plus de "Select File" et que le bouton "Upload/Envoyé" prenne en considération tous les fichiers entrés en cliquant sur "Select File".
Merci en espérant que je puisse trouver la solution.
Guillaume
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
526
21 févr. 2017 à 11:27
21 févr. 2017 à 11:27
Salut,
Tu peux effectivement, à la place d'utiliser l'attribut multiple sur un seul input, utiliser plusieurs input en spécifiant leurs nom sous forme de tableau (avec des []) afin de pouvoir récupérer l'ensemble des input coté PHP :
https://www.php.net/manual/fr/features.file-upload.multiple.php
Pour ajouter un input de manière dynamique, on peut utiliser javascript pour exécuter une fonction sur le clique d'un bouton "Ajouter un fichier" (addEventListener)? Dans cette fonction, on crée simplement un nouveau input de type file et on l'ajouter dans le formulaire.
Un exemple simple : https://jsfiddle.net/u1h9f884/
Enfin une solution alternative est d'utiliser un plugins javascript déjà développé. Un exemple parmi plein d'autres : https://blueimp.github.io/jQuery-File-Upload/
Bonne journée,
Tu peux effectivement, à la place d'utiliser l'attribut multiple sur un seul input, utiliser plusieurs input en spécifiant leurs nom sous forme de tableau (avec des []) afin de pouvoir récupérer l'ensemble des input coté PHP :
https://www.php.net/manual/fr/features.file-upload.multiple.php
Pour ajouter un input de manière dynamique, on peut utiliser javascript pour exécuter une fonction sur le clique d'un bouton "Ajouter un fichier" (addEventListener)? Dans cette fonction, on crée simplement un nouveau input de type file et on l'ajouter dans le formulaire.
Un exemple simple : https://jsfiddle.net/u1h9f884/
Enfin une solution alternative est d'utiliser un plugins javascript déjà développé. Un exemple parmi plein d'autres : https://blueimp.github.io/jQuery-File-Upload/
Bonne journée,
guillaumegilbertsoucy
Messages postés
332
Date d'inscription
vendredi 11 octobre 2013
Statut
Membre
Dernière intervention
1 décembre 2024
8
23 févr. 2017 à 08:44
23 févr. 2017 à 08:44
Bon matin Pitet!
J'ai été sur le site php.net à l'aide du lien que vous m'avez donné dans votre message mais dans les exemples des utilisateurs c'est juste des petits boutes de codes qui sembles avoir besoin dêtre mis ensembles. Eux ils donnes ces exemples comme si ceux qui s'y connnaissent pas beaucoup en php, comme moi, serais quoi faire avec ces boutes de codes là.
Pouvez vous svp si possible me donner un exemple?
Je sais que le fichier .php doit commençé par <?php et finir par ?> mais certain des exemples avec les arrays sont incomplets, c'est ce que je veut dire par boutes de codes.
Merci pour l'aide et bonne journée à vous aussi!
Guillaume
J'ai été sur le site php.net à l'aide du lien que vous m'avez donné dans votre message mais dans les exemples des utilisateurs c'est juste des petits boutes de codes qui sembles avoir besoin dêtre mis ensembles. Eux ils donnes ces exemples comme si ceux qui s'y connnaissent pas beaucoup en php, comme moi, serais quoi faire avec ces boutes de codes là.
Pouvez vous svp si possible me donner un exemple?
Je sais que le fichier .php doit commençé par <?php et finir par ?> mais certain des exemples avec les arrays sont incomplets, c'est ce que je veut dire par boutes de codes.
Merci pour l'aide et bonne journée à vous aussi!
Guillaume
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
526
23 févr. 2017 à 11:03
23 févr. 2017 à 11:03
Le premier commentaire (https://www.php.net/manual/fr/features.file-upload.multiple.php#53240) propose une fonction permettant de réordonner le tableau $_FILES lors de l'envoi de plusieurs fichiers afin de pouvoir utiliser ce tableau plus facilement.
Le 6e commentaire (https://www.php.net/manual/fr/features.file-upload.multiple.php#119143) propose un exemple simple et complet en utilisant la fonction proposé au dessus.
En reprenant le code de ce 6e commentaire et en l'adaptant à ton formulaire, on pourrait avoir :
L'instruction var_dump($file) devrait te permettre d'afficher les informations (name, tmp_name, size, ...) pour chaque fichier uploadé. Il suffit alors de remplacer cette instruction par le code actuel de ton fichier uploads.php en adaptant les variables utilisées : par exemple en remplacant $_FILES['avatar']['name'] par $file['name'].
Le 6e commentaire (https://www.php.net/manual/fr/features.file-upload.multiple.php#119143) propose un exemple simple et complet en utilisant la fonction proposé au dessus.
En reprenant le code de ce 6e commentaire et en l'adaptant à ton formulaire, on pourrait avoir :
<?php if(!empty($_FILES['avatar'])) { $avatarFiles = reArrayFiles($_FILES['avatar']); foreach($avatarFiles as $file) { var_dump($file) } } function reArrayFiles($file) { $file_ary = array(); $file_count = count($file['name']); $file_key = array_keys($file); for($i=0;$i<$file_count;$i++) { foreach($file_key as $val) { $file_ary[$i][$val] = $file[$val][$i]; } } return $file_ary; }
L'instruction var_dump($file) devrait te permettre d'afficher les informations (name, tmp_name, size, ...) pour chaque fichier uploadé. Il suffit alors de remplacer cette instruction par le code actuel de ton fichier uploads.php en adaptant les variables utilisées : par exemple en remplacant $_FILES['avatar']['name'] par $file['name'].
guillaumegilbertsoucy
Messages postés
332
Date d'inscription
vendredi 11 octobre 2013
Statut
Membre
Dernière intervention
1 décembre 2024
8
29 avril 2017 à 04:29
29 avril 2017 à 04:29
Bonjour,
Merci pour votre réponse et désoler du délais de la mienne.
Quand je selectionne deux fichier, et que je pèse sur "Envoyer les fichiers", il y a de l'activité sur la carte mémoire du PSP, mais dans le code que vous m'avez donné comme exemple je ne vois pas ou ça précise ou que les fichiers vont. Dans le code que j'avais déja ceux-ci vont dans /tmp et sont ensuite transféré dans uploads/ .
Je vourais bien ajouter ces lignes dans votre code mais je sais vraiment pas ou les mettres.
Merci encore et votre aide est très apprécié.
Guillaume
Merci pour votre réponse et désoler du délais de la mienne.
Quand je selectionne deux fichier, et que je pèse sur "Envoyer les fichiers", il y a de l'activité sur la carte mémoire du PSP, mais dans le code que vous m'avez donné comme exemple je ne vois pas ou ça précise ou que les fichiers vont. Dans le code que j'avais déja ceux-ci vont dans /tmp et sont ensuite transféré dans uploads/ .
Je vourais bien ajouter ces lignes dans votre code mais je sais vraiment pas ou les mettres.
Merci encore et votre aide est très apprécié.
Guillaume