首页 >后端开发 >php教程 >如何使用和不使用'allow_url_fopen”从 PHP URL 保存 JPEG 图像?

如何使用和不使用'allow_url_fopen”从 PHP URL 保存 JPEG 图像?

DDD
DDD原创
2024-12-19 19:08:11917浏览

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

从 PHP URL 保存 JPEG 图像

当需要在 PHP 环境中从外部 URL 检索和存储图像时,出现了各种技术进入游戏。当尝试保存来自指定 PHP URL 的 JPEG 图像文件时,会出现一个常见的挑战。

要有效捕获这些图像并将其存储在本地 PC 上,可以采用多种方法。一种方法涉及利用allow_url_fopen 配置。如果启用此设置,您可以直接检索图像内容并将其保存在本地:

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

在此示例中,图像是从指定的 URL 获取的(在本例中为 http://example.com)。 com/image.php)并以flower.gif 形式存储在本地计算机上的 my/folder 目录中。

但是,如果出于安全原因禁用了allow_url_fopen,则需要使用涉及 cURL 的替代技术可以实现:

$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);

利用cURL,再次从URL中获取图像,并以flower.gif的形式保存在指定的本地目录中。在处理外部图像 URL 时,此方法提供了强大且可靠的解决方案。

以上是如何使用和不使用'allow_url_fopen”从 PHP URL 保存 JPEG 图像?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn