Download de plusieurs fichiers simultanément

cs_manouille Messages postés 73 Date d'inscription vendredi 29 août 2003 Statut Membre Dernière intervention 22 juin 2007 - 6 juil. 2005 à 09:35
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 - 18 juil. 2005 à 10:34
Bonjour a tous,



je souhaiterais mettre en place un moyen de télécharger X fichiers en une seule fois.

Fait un zip me direz vous ! Mais le problème est qu'il sagit d'une
trentaine de fichier de 12 à 16 Mo chacun donc vive les timeout et
autre dépassement de mémoire pour ce script.



La config de mon seveur :

serveur dédier athlon xp 3000+, 2Go de ram, 2X160 Go/raid

fédora core2 + php 4.3 + mysql 3.23



Merci beaucoup pour vos réponses.

9 réponses

cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
6 juil. 2005 à 10:37
Bonjour,



Juste pour comprendre un peux ton besoin et l'utilité ;)



tu veux faire ca par programme php (cad le client ne peut pas utiliser
des téléchargeur comme FlashGot, Mass downloader et mes ceux du système
..) ??
0
cs_manouille Messages postés 73 Date d'inscription vendredi 29 août 2003 Statut Membre Dernière intervention 22 juin 2007
6 juil. 2005 à 11:01
Exactement, je ne veux pas passer des 'téléchargeurs' , juste en programmation php, javascript si besoin.



En fait je ne sais meme pas cela est possible.

De plus Internet Explorer ne permet le téléchargement que de 4 sources silmultanément.



Le .tar serais une solution (rapide) mais tous le monde n'a pas un
logicil pour 'détaré' sur sa machine, donc cette solution est
inutilisable (surtout sur mac).



please help !
0
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
6 juil. 2005 à 11:13
Une solution simple et efficace:



tu créer une zone de texte pour que l'utilisateur saisie le chemin pour
sauvegarder ses fichiers avec un bouton browser ensuite lorsque qu'il
clic sur le bouton Commencer le téléchargement !! tu ouvre une petite
fenetre avec comme tache de copier le fichier distant dans le
repertoire qu'il a choisi par une simple fopen et fputs et voici un
exemple :



$fichier_distant = "download/fichier.exe";

$fichier_local = chemin.basename($fichier_distant);

$fd = fopen($fichier_distant, 'rb');

if (!$fd)

die('Impossible d\'ouvrir le fichier distant');

$fl = fopen($fichier_local, 'wb');



while (!feof($fd))

{

fputs($fl, fgets($fd));

}



fclose($fd);

fclose($fl);

echo "Terminé";





tu n'as quà faire un tableau et une boucle pour ta liste de fichier . le reste dépend de ton imagination ;



Bonne chance et bon courage
0
cs_manouille Messages postés 73 Date d'inscription vendredi 29 août 2003 Statut Membre Dernière intervention 22 juin 2007
6 juil. 2005 à 11:27
Effectivement, sur le 'papier' ça répond tout à fait à ce que je souhaite faire.

J'ignorais completement qu'on avait la possibilité d'ouvrir avec fopen un dossier client.



Petite renseignement supplémentaire :

*fopen peut ouvrir un dossier ? je pensais que c'etait limité à ouvrir un fichier sur le serveur.

*comment le visiteur saisie le répertoire ou il souhaite placer les fichiers téléchargé??

ce que tu apelle un bouton browser c'est un ??? cela permet de selectionner un fichier et non pas
un dossier ?



Merci pour ton aide.
0

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

Posez votre question
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
6 juil. 2005 à 12:06
Franchement je ne sais pas !



mais tu peux commencer par le code suivant en attendant une solution plus adéquate (si ca existe)



<HEAD>



<SCRIPT LANGUAGE="JavaScript">

<!--

function DriveList()

{

var folder=document.Drive.Name.options[document.Drive.Name.selectedIndex].value;

document.frames['MyComputer'].location.href = folder;

}

function FolderChoose()

{

var location=document.UserLocation.FolderLocation.value;

document.frames['MyComputer'].location.href = location;

}

// -->

</script>



</HEAD>







<CENTER>

<FORM NAME="Drive">

Choose a Drive:


<SELECT NAME="Name" onChange="DriveList();">

<OPTION VALUE="A:">A:\ Drive</OPTION>

<OPTION VALUE="C:">C:\ Drive</OPTION>

<OPTION VALUE="D:">D:\ Drive</OPTION>

<OPTION VALUE="E:">E:\ Drive</OPTION>

</SELECT>

</FORM>

or

<FORM NAME="UserLocation">

Type in a Folder Location:






EXAMPLE: C:\Program Files\Internet Explorer


</FORM>



</CENTER>



</html>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 juil. 2005 à 12:34
Hello,



- *fopen peut ouvrir un dossier ? je pensais que c'etait limité à ouvrir un fichier sur le serveur.

Tu pensais juste, cela ne peut pas ouvrir un fichier client, ni un dossier (opendir pour un dossier...mais sur le serveur aussi)



*comment le visiteur saisie le répertoire ou il souhaite placer les fichiers téléchargé??


ce que tu apelle un bouton browser c'est un
??? cela permet de selectionner un fichier et non pas un dossier ?

un champ input type="file" ne permet que de selectionner un fichier, et ne permet pas qu'on lui donne un chemin par defaut.
0
cs_manouille Messages postés 73 Date d'inscription vendredi 29 août 2003 Statut Membre Dernière intervention 22 juin 2007
11 juil. 2005 à 09:29
personne en voit une autre solution ??
0
cs_manouille Messages postés 73 Date d'inscription vendredi 29 août 2003 Statut Membre Dernière intervention 22 juin 2007
18 juil. 2005 à 08:39
vraiment personne... sniff !!!
0
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
18 juil. 2005 à 10:34
je pense que c'est faisable en applet java mais il faut voir www.javafr.com s'ils ont un exemple ..



reste à voir si ca te convient.
PS: Si votre problème est résolu, prière de bien vouloir clôturer votre message par une réponse acceptée !
0
Rejoignez-nous