通过 HTTP 从远程服务器复制图像

新手上路,请多包涵

我正在寻找一种使用 PHP 将图像从远程服务器导入/复制到本地文件夹的简单方法。我无法通过 FTP 访问服务器,但所有远程图像都可以通过 HTTP 访问(即 http://www.mydomain.com/myimage.jpg )。

使用示例:用户希望将图像添加到他的个人资料中。该图像已存在于网络上,并且用户提供了直接 URL。我不希望对图像进行热链接,而是从我的域中导入和提供服务。

原文由 GiladG 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 355
2 个回答

如果您在服务器上启用了 PHP5 和 HTTP 流包装器,则将其复制到本地文件非常简单:

 copy('http://somedomain.com/file.jpeg', '/tmp/file.jpeg');

这将处理所需的任何流水线等。如果您需要提供一些 HTTP 参数,您可以提供第三个“流上下文”参数。

原文由 Ciaran McNulty 发布,翻译遵循 CC BY-SA 2.5 许可协议

对于那些需要保留原始文件名和扩展名的人

$origin = 'http://example.com/image.jpg';

$filename = pathinfo($origin, PATHINFO_FILENAME);
$ext = pathinfo($origin, PATHINFO_EXTENSION);

$dest = 'myfolder/' . $filename . '.' . $ext;

copy($origin, $dest);

原文由 Marcio Mazzucato 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题