-
upload de dossier
Bonjour,
Je cherche a faire un script permettant l'upload de photo en choisissant un dossier. Je détail :
L'utilisateur choisi un dossier via un champ de type "file", suite a ça la liste des photos contenu dans le dossier apparet et enfin il clic sur un bouton pour envoyer tout les fichiers sur le serveur. L'idéal serai qu'il y ai une barre de progression pour l'upload de chaque fichier et qu'on puisse annuler.
J'ai cherché sur le net mais je ne trouve pas exactement ce que je veux.
Ou puis-je trouver quelque chose en javascript, en ajax ou en PHP ?
-
en php plutot
éventuellement avec un peu d'ajax ...
-
Pour la partie serveur : PHP ou autre langage, mais ça, je pense que tu t'en doutais.
Pour la partie client, j'ai beaucoup plus de doutes : avec un <input type="file"> tu ne peux choisir qu'un fichier, tu ne peux pas choisir de dossier. Moralité : il faut passer par autre chose, une applet Java ou un ActiveX (attention quand pas Windows !!) pour proposer cette fonctionnalité. Après, tout dépend de ce composant : il peut s'occuper de tout (affichage, upload, etc.), ce qui me semble mieux, ou tout simplement permettre uniquement à l'utilisateur de choisir son dossier (et implicitement les fichiers qu'il contient). Dans ce dernier cas, il devra passer la main à un code JavaScript qui ira prendre les fichier un par un, les affichera (attention !!! pour les afficher, il se pourrait que tu aies besoin d'uploader toutes les images avant sur le serveur, ce qui peut être très lourd, surtout si l'utilisateur n'est intéressé que par une image sur cent), etc. tout comme t'as dit. Pour le téléchargement sur le serveur en JavaScript, il faut passer par une iframe.
-
heu input type file accepte le multiple non ?
donc plusieurs fichiers ...
-
Non : ce n'est pas possible de choisir un dossier avec un champ de type "file". Comme Mac, je te propose de te tourner vers Java ou du flash (je sais qu'il est possible de choisir plusieurs fichiers en flash, je ne sais pas s'il est possible de choisir un répertoire).
Pour la barre de progression, là encore, c'est problèmatique. Soit tu as PERL sur ton serveur, soit un PHP récent sur lequel tu peux ajouter le module PECL, sinon, il faudra passer par du Java ou du flash...
Par contre, je te déconseille l'activeX pour des problèmes évidents de compatibilité (seulement IE sous Windows...)
-
je suis vraiment embété. Je ne sais pas developper en flash, activeX je veux pas y penser, java ... ça m'embéte un peu. On m'a parlé d'un truc en Ajax qui existait, c'est possible ? Je pense que je vais chercher un truc tout fait en flash...
-
Ajax, c'est juste un nouveau moyen de communiquer en XML avec le serveur en JavaScript sans avoir à recharger les pages ou utiliser des iframes et tout le bazar (sauf l'upload de fichiers, tu peux pas y couper). C'est pas Ajax qui te permettra de choisir un dossier et pas des fichiers individuels.
-
-
Bien sûr : ne réinvente pas la roue ! Il y a une tonne de script déjà tout fait. A tout hasard, je te propose celui-ci, qui "semble" (car pas tout à fait) assez proche de ce que tu désire :
http://swfupload.org/
Voir plus précisément l'exemple suivant :
http://demo.swfupload.org/multiuploaddemo/