PHP保存图像文件

PHP保存图像文件,php,Php,可能重复: 我有一个来自第三方web thumb站点(IE)的图像作为url链接,我想做的是运行一个脚本,获取图像并使用php将其保存在服务器上的目录中。如何做到这一点?我会使用文件写入吗?注意:如果可能,您应该使用。它比我的好 这是很容易的 它通常是内置的,您可能拥有它(使用phpinfo()进行检查) 对于大多数情况,上面的答案更好(更快),但是使用GD,您也可以以某种形式修改它(例如裁剪) 这仅在为true时有效(默认情况下)不需要像其他人建议的那样创建GD资源 $input = 'ht

可能重复:

我有一个来自第三方web thumb站点(IE)的图像作为url链接,我想做的是运行一个脚本,获取图像并使用php将其保存在服务器上的目录中。如何做到这一点?我会使用文件写入吗?

注意:如果可能,您应该使用。它比我的好

这是很容易的

它通常是内置的,您可能拥有它(使用
phpinfo()
进行检查)

对于大多数情况,上面的答案更好(更快),但是使用GD,您也可以以某种形式修改它(例如裁剪)


这仅在
为true时有效(默认情况下)

不需要像其他人建议的那样创建GD资源

$input = 'http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com';
$output = 'google.com.jpg';
file_put_contents($output, file_get_contents($input));

注意:此解决方案仅在设置为允许fopen访问URL时有效。如果上述解决方案不起作用,您将不得不使用cURL。

这仅在allow_url_fopen为true时有效。@lafur Waage当然可以,但同样地,cURL仅在您的系统上可用并启用cURL扩展时才起作用。这迫使GD无理由地对图像进行解码和编码。这也意味着它是有损的,默认情况下imagejpeg仅使用75%的质量。所有的OP都要求下载(一点一点的拷贝)。为了让我的答案生效,您的PHP安装必须使用GD库进行编译(大多数是)…请参阅[Save file using curl]()。这里有一个教程向您展示了如何通过两种方式完成此操作。如果图像格式不是jpg怎么办。部分正确答案
$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");
$input = 'http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com';
$output = 'google.com.jpg';
file_put_contents($output, file_get_contents($input));