2009-09-03 95 views
10

我想将远程img文件保存到我的服务器,但我不知道该怎么做。保存远程img文件到服务器,用php

图片网址是http://img.youtube.com/vi/Rz8KW4Tveps/1.jpg1.jpg要保存并重新命名为imgfolder/imgID.jpg

回答

31

您可以使用file_get_contents()远程图像加载到一个二进制字符串PHP脚本在PHP(文件访问内经常接受URL来访问远程资源 - 这非常方便),然后将该文件存储在您有写权限的地方。这里有一个非常简单的例子:

$image = file_get_contents("http://img.youtube.com/vi/Rz8KW4Tveps/1.jpg"); 
file_put_contents("imgfolder/imgID.jpg", $image); 

Tada!

+0

田田:),非常感谢! – Johan 2009-09-03 07:52:50

+0

tada tada!谢谢.. – 2015-03-03 18:56:35

+0

它适用于我,我有一个查询。如果有人想要抓取不以任何扩展程序为结尾的图片,如facebook中的公共图片。问候 – 2015-03-05 09:25:42

21

如果URL流包装是允许的,你能做到在1号线,而不是将其加载到一个变种:

copy('http://img.youtube.com/vi/Rz8KW4Tveps/1.jpg', 'imgfolder/imgID.jpg'); 

这是不太可能造成与PHP运行的问题记忆。