将远程图片文件保存到服务器上,使用php

18 浏览
0 Comments

将远程图片文件保存到服务器上,使用php

我想将远程的图片文件保存到我的服务器上,但是我不知道如何操作。

图片的URL是http://img.youtube.com/vi/Rz8KW4Tveps/1.jpg,而1.jpg需要被保存并重命名为imgfolder/imgID.jpg

0
0 Comments

问题的出现原因:用户想要将远程的图片文件保存到服务器上,并且使用php语言实现。用户希望通过file_get_contents()函数将远程图片加载为二进制字符串,然后将该文件存储在具有写访问权限的某个位置。

解决方法:用户可以使用file_get_contents()函数将远程图片加载为二进制字符串,并将其存储在具有写访问权限的位置。以下是一个简单的示例:

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

通过上述方法,用户可以成功实现将远程图片保存到服务器的目的。

用户提出了一个问题,即如果有人想要获取没有任何扩展名的图片(例如Facebook上的公共图片),该方法是否仍然有效。对此,解决方法仍然适用:文件访问器并不关心文件扩展名,甚至不关心HTTP头中的MIME内容类型 - 它只是从指定的位置获取二进制数据。因此,无论图片是否带有扩展名,该方法都可以正常工作。

0
0 Comments

在使用PHP将远程图片文件保存到服务器时,可能会出现以下问题和解决方法:

问题原因:当使用load函数将远程图片文件加载到变量中时,可能会导致PHP内存不足的问题。

解决方法:如果允许URL流包装器,可以使用一行代码来完成,而不必将其加载到变量中。使用copy函数将远程图片文件复制到服务器上指定的文件夹中。

代码示例:

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

这种方法更不容易导致PHP内存不足的问题。

0