Maison > développement back-end > tutoriel php > Comment télécharger des fichiers volumineux depuis une URL vers un serveur sans problèmes de mémoire ?

Comment télécharger des fichiers volumineux depuis une URL vers un serveur sans problèmes de mémoire ?

Linda Hamilton
Libérer: 2024-12-29 06:06:11
original
947 Les gens l'ont consulté

How to Download Large Files from a URL to a Server Without Memory Issues?

Télécharger un fichier depuis une URL vers un serveur sans problèmes de mémoire

Le téléchargement de fichiers sur un serveur à partir d'une URL est une tâche courante, mais cela peut devenir un problème lors du traitement de fichiers volumineux en raison de limitations de mémoire. Cette question explore une solution à ce problème.

Problème :

Les méthodes traditionnelles de téléchargement de fichiers, telles que file_get_contents() suivi de file_put_contents(), peuvent rencontrer des problèmes de mémoire. lors de la manipulation de fichiers volumineux, ce qui entraîne des téléchargements échouer.

Solution :

Pour éviter les problèmes de mémoire, PHP propose une approche alternative utilisant une ressource de flux comme paramètre de données pour file_put_contents(). Cette méthode permet d'écrire le fichier directement sur le disque lors de son téléchargement, évitant ainsi l'épuisement de la mémoire.

Code :

1

file_put_contents("Tmpfile.zip", fopen("http://someurl/file.zip", 'r'));

Copier après la connexion

Explication :

En passant une ressource de flux à file_put_contents(), le mécanisme de copie de flux PHP est utilisé pour transférer des données directement depuis l'URL source au fichier cible. Cela évite d'avoir à charger l'intégralité du fichier en mémoire, résolvant ainsi le problème d'épuisement de la mémoire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal