Téléchargement de gros fichiers .zip incomplet

Je suis un novice sévère, mais j’ai fait beaucoup de recherches avant de poster, alors j’espère que vous pouvez aider.

J’essaie de servir un grand fichier .zip hébergé sur un serveur Apache, environ 6,4 Go. Le fichier montre un téléchargement complet dans le navigateur, mais en fait, environ 500 Mo seulement ont été téléchargés. Cela semble être un problème très courant et a trouvé beaucoup d’autres publications et informations sur le Web, mais le problème a été persistant pour moi.

Grand fichier Zip offert en téléchargement avec php

Le téléchargement de IE est incomplet même s’il prétend avoir du succès

Les gros téléchargements zip échouent uniquement dans IE

J’ai testé avec Chrome 39.0.2171.71, mais j’ai le même problème avec FireFox et IE. Je pense que mon fichier est beaucoup plus volumineux que ce que les autres ont publié, par conséquent, leurs solutions ont peut-être aidé la situation, mais elles n’ont pas résolu le problème. J’ai un second fichier .zip d’environ 400 Mo et j’utilise les mêmes en-têtes http avec succès.

L’article le plus utile que j’ai trouvé est celui-ci: http://perishablepress.com/http-headers-file-downloads/ et j’ai copié une grande partie du php ci-dessous de cette source, car il semble que d’autres affiches sur ce site ont fait .

J’ai également essayé d’utiliser X-SendFile, mais je ne pense pas que mon hébergeur possède le module Apache approprié installé. J’ai passé toute la journée à travailler là-dessus et je n’ai plus d’idées! J’ai utilisé un gestionnaire de téléchargement avec succès, je ne sais pas si c’était juste par hasard ou quoi, mais je ne veux pas obliger mes clients à télécharger et installer un programme séparé juste pour obtenir le fichier .zip.

 

Voici les en-têtes de réponse lorsque je lance le php ci-dessus

 Adresse distante: 76.162.142.242
 URL de demande: **** / GetSW.php
 Méthode de demande: GET
 Code de statut: 200 OK

 En-têtes de demande

 Accepter: text / html, application / xhtml + xml, application / xml; q = 0,9, image / webp, * / *; q = 0,8
 Accept-Encoding: gzip, dégonfler, sdch
 Accept-Language: en-US, en; q = 0.8
 Autorisation: Basic ******
 Connexion: restr en vie
 Cookie: _ga = GA1.2.1176828605.1417985823
 DNT: 1
 Hôte: www.teamursa.org
 Referer: http: //www.teamursa.org/****.html
 Agent utilisateur: Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 537.36 (KHTML, comme Gecko) Chrome / 39.0.2171.71 Safari / 537.36

 En-têtes de réponse

 Cache-Control: public
 Connexion: Keep-Alive
 Description du contenu: transfert de fichier
 Content-Disposition: pièce jointe;  filename = "huge.zip"
 Content-Length: 6720560824
 Content-Transfer-Encoding: binary
 Content-Type: application / octet-stream
 Date: dim, 07 déc 2014 22:16:57 GMT
 Expire: 0
 Keep-Alive: timeout = 3, max = 120
 Pragma: public
 Serveur: Apache
 X-Powered-By: PHP / 5.2.17 

Vous devrez peut-être augmenter la limite de mémoire sur le serveur. Essayez ci-dessous juste après l’ouverture de la balise PHP

ini_set('memory_limit','16M');

Et juste continuer à augmenter de 16M

Je vous recommande d’essayer d’utiliser un navigateur Web pour télécharger le fichier directement, ce qui signifie que vous allez à l’adresse où le fichier est stocké. Par exemple, http://www.example.com/downloads/download.zip J’espère que cela vous aidera