Comment télécharger de gros fichiers à l'aide de PHP (faible utilisation de la mémoire)
- Je télécharger un gros fichier (1xx MO) à l'aide de PHP.
Comment puis-je télécharger ce sans perdre la mémoire vive (RAM) pour le fichier temporaire ?
Lorsque j'utilise
$something=file_get_contents('http://somehost.example/file.zip');
file_put_contents($something,'myfile.zip');
J'ai besoin d'avoir autant de mémoire que la taille de ce fichier.
C'est peut-être possible de le télécharger à l'aide d'une autre manière ?
Par exemple dans certaines régions (par exemple 1024b), écrire sur le disque, et de télécharger une autre partie de répéter jusqu'à ce fichier sera téléchargé ?
stackoverflow.com/questions/3697748/...
double possible de Téléchargement d'un fichier volumineux à l'aide de curl
double possible de Téléchargement d'un fichier volumineux à l'aide de curl
OriginalL'auteur marc | 2010-10-22
Vous devez vous connecter pour publier un commentaire.
Copier le fichier à un petit morceau à un moment
Ajuster $chunksize variable à vos besoins. Ce n'a été que légèrement testé. Il pourrait facilement se casser pour un certain nombre de raisons.
Utilisation:
Cela devrait fonctionner si la directive allow_url_fopen est activé dans PHP. Mais je vais mettre à jour mon exemple pour montrer prise de courant.
Je Vous remercie beaucoup. C'est génial de travailler 😉
Assez sûr de votre
$errorcode
et$errorstr
sont à l'envers dansfsockopen
.OriginalL'auteur mellowsoon
vous pouvez débourser pour un
wget
à l'aide deexec()
le résultat sera la plus faible utilisation de la mémoire.Vous pouvez également essayer d'utiliser
fopen()
etfread()
etfwrite()
. De cette façon, vous onlly télécharger x octets dans la mémoire.OriginalL'auteur Byron Whitlock