Maison >développement back-end >tutoriel php >Comment puis-je enregistrer des images JPEG à partir d'URL PHP avec et sans « allow_url_fopen » ?

Comment puis-je enregistrer des images JPEG à partir d'URL PHP avec et sans « allow_url_fopen » ?

DDD
DDDoriginal
2024-12-19 19:08:11913parcourir

How Can I Save JPEG Images from PHP URLs with and without `allow_url_fopen`?

Enregistrement d'images JPEG à partir d'URL PHP

Lorsque vous rencontrez le besoin de récupérer et de stocker des images à partir d'URL externes dans un environnement PHP, diverses techniques sont utilisées en jeu. Un défi courant survient lorsque l'on tente de conserver des fichiers d'image JPEG à partir d'une URL PHP spécifiée.

Pour capturer efficacement ces images et les stocker sur votre PC local, plusieurs approches peuvent être utilisées. Une méthode consiste à utiliser la configuration allow_url_fopen. Si ce paramètre est activé, vous pouvez directement récupérer le contenu de l'image et l'enregistrer localement :

$url = 'http://example.com/image.php';
$img = '/my/folder/flower.gif';
file_put_contents($img, file_get_contents($url));

Dans cet exemple, l'image est récupérée à partir de l'URL spécifiée (dans ce cas, http://example. com/image.php) et stocké sous flower.gif dans le répertoire my/folder sur votre ordinateur local.

Cependant, si allow_url_fopen est désactivé pour des raisons de sécurité, une technique alternative impliquant cURL peut être implémenté :

$ch = curl_init('http://example.com/image.php');
$fp = fopen('/my/folder/flower.gif', 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);

En utilisant cURL, l'image est à nouveau obtenue à partir de l'URL et enregistrée sous flower.gif dans le répertoire local spécifié. Cette méthode fournit une solution robuste et fiable lorsque vous travaillez avec des URL d'images externes.

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:
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