Page 1 sur 1

téléchargement de plusieurs fichier volumineux

Posté : 03 avr. 2012, 22:58
par devildant
Bonjour a tous,

je me tourne vers vous car cela fait quelque temps que je cherche une solution a mon problème.
voila enfaite je désirerai proposer au utilisateur de mon site de choisir quels fichiers il veulent télécharger, puis une fois leurs sélection faite les zippé pour qu'il n'est qu'un fichier a télécharger.

le problème c'est que j'ai fait plusieurs recherche et j'ai testé de nombreux script mais tous bloque sur la taille des fichier (Fatal error: Allowed memory size of....).

voici mes contraintes :
fichier se trouvant dans des répertoires différent.
fichier de 100mo a plusieurs GO.

y aurait-il une solution a mon problème?

serait-il possible de zippé tous ses fichiers au fur et a mesure du téléchargement?

cordialement

Re: téléchargement de plusieurs fichier volumineux

Posté : 03 avr. 2012, 23:23
par moogli
Une solution oui : il faut que tu puisse modifier la mémoire allouer à php et ça se fait dans le php.ini.

Sinon test de faire l'archive en ligne de commande histoire de déporter la chose.

@+

Re: téléchargement de plusieurs fichier volumineux

Posté : 04 avr. 2012, 02:01
par AB
Pour des fichiers aussi lourds si tu veux le faire en php il faudra certainement utiliser un serveur dédié sur lesquels tu pourras modifier les paramètres du php ini.
Parce que sur des mutualisés comme par exemple OVH la limite actuelle est de 60 Mo (et encore c'est très au dessus de la moyenne des mutualisés).

A part cela pour info, il y a une classe de téléchargement ici qui gère la plupart des erreurs de téléchargement. Cela dit, ça te permettra dans la plupart des cas d'avoir en retour un message adapté où tu le souhaites dans ta page à la place d'une page blanche mais en aucun cas cela peut contourner les réglages du serveur.

Re: téléchargement de plusieurs fichier volumineux

Posté : 04 avr. 2012, 09:51
par devildant
bonjour,
merci de vos réponse.

n'y aurait-il pas un moyen de de générer le zip pendant le téléchargement, un peux comme un système de streaming?

je possède un NAS synology, et celui ci possédé une interface que se nome filestation, dans cette interface il est possible de télécharger un dossier ou plusieurs fichier, et cela fonction peux importe la taille des fichier, le zip se créer au fur et a mesure du téléchargement.
cependant je ne sais pas comment il procédé, mais je voudrais faire quelque chose de similaire.

aurez vous une idée?

je préférerais évité de modifier les conf apache pour conserver de bonne perf sur le serveur.

cordialement

Re: téléchargement de plusieurs fichier volumineux

Posté : 04 avr. 2012, 17:33
par moogli
Le nas à son truc à lui et ne s'applique pas forcément ici.

Je ne sais pas s'il est possible de faire une lecture en flux tendu sur la compression (source d'emmerder à mon avis).

Sur une utilisation classique faut attendre la fin de la compression pour envoyer le fichier.
Sache aussi que, par défaut, un script à une durée de vie de 30s si la compression n'est pas finie ça time out.

Regarde du côté des fonctions de bufferisation et de l'utilisation des fichiers.

Tu parle de performance, as tu déjà regarder ton ordi compresser un fichier de plusieurs Gio ?
=> utilisation du proc à 100% + utilisation du swap plein pot (pour windows en tous cas) plus la ram utilisée.
C'est un gouffre à perf ;)

Je te déconseille de faire ça sur un mutualisé tu risque de te faire lyncher ;)

@+

Re: téléchargement de plusieurs fichier volumineux

Posté : 04 avr. 2012, 20:27
par devildant
merci a tous de ses infos,

je vais tricher je vais passer par un applet qui se chargera de télécharger les fichier un par un ^^

en tous cas un grand merci