Bonjour,
j'ai un serveur de données sur lequel je propose un téléchargement (download d'images) à mes membres. Tous ces fichiers sont zippés avant de les envoyer par un header(). Auparavant j'utilisais des petits fichiers ( < 35 Mo environ) à downloader donc ca roulait bien.
Avant de me proposer la fenêtre permettant d'enregistrer le zip, mon script tourne pendant un bon moment (le temps de zipper les fichiers) : le temps dépend du nombre de fichier à zipper soit 30 sec pour 35Mo.
Mais lorsque je souhaite récupérer des fichiers de plus de 35Mo j'ai une erreur 500.
J'ai essayé d'augmenter memory_limit, max_execution_time, max_input_time mais sans succès. Je précise que pour les fichiers < 35 Mo le téléchargement de mon zip fonctionne !!
J'utilise la librairie zip.lib.php pour zipper mes fichiers. Est à cause de cette librairie que j'obtiens ce comportement ?
J'ai remarqué une autre librairie ZipArchive : est elle mieux ?
De plus je trouve que le temps pour zippper les fichiers est extrêmement long car je fait un fopen(), fread() puis fclose(). N'existe il pas un moyen de copier le fichier sans le lire pour recopier son contenu ?
J'ai trouvé aussi cette option de php.ini : zlib.output_compression
Me permettrait elle de compresser mes fichiers à télécharger sans passer par un librairie zip ?
Merci de m'éclaircir
Partager