PHP 保存图像文件
2022-08-30 15:52:03
可能的重复:
从PHP URL保存图像
我有一个图像作为来自第三方Web拇指站点(IE http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com)的url链接,我想做的是运行一个脚本,该脚本获取图像并使用php将其保存在服务器上的目录中。如何做到这一点?我会使用文件写入吗?
可能的重复:
从PHP URL保存图像
我有一个图像作为来自第三方Web拇指站点(IE http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com)的url链接,我想做的是运行一个脚本,该脚本获取图像并使用php将其保存在服务器上的目录中。如何做到这一点?我会使用文件写入吗?
无需像其他人建议的那样创建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。
注意:如果可能的话,您应该使用接受的答案。它比我的好。
使用GD库很容易。
它通常是内置的,你可能有它(用于检查)phpinfo()
$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagejpeg($image, "folder/file.jpg");
在大多数情况下,上面的答案更好(更快),但是使用GD,您也可以以某种形式对其进行修改(例如裁剪)。
$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");
这仅在allow_url_fopen
是时才有效(默认情况下)true