Download de plusieurs fichiers simultanément

Signaler
Messages postés
73
Date d'inscription
vendredi 29 août 2003
Statut
Membre
Dernière intervention
22 juin 2007
-
Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
-
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

Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
2
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
..) ??
Messages postés
73
Date d'inscription
vendredi 29 août 2003
Statut
Membre
Dernière intervention
22 juin 2007

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 !
Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
2
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
Messages postés
73
Date d'inscription
vendredi 29 août 2003
Statut
Membre
Dernière intervention
22 juin 2007

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.
Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
2
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>
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
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.
Messages postés
73
Date d'inscription
vendredi 29 août 2003
Statut
Membre
Dernière intervention
22 juin 2007

personne en voit une autre solution ??
Messages postés
73
Date d'inscription
vendredi 29 août 2003
Statut
Membre
Dernière intervention
22 juin 2007

vraiment personne... sniff !!!
Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
2
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 !