使用 PHP 以编程方式保存远程图像
Saving a remote image programmatically with PHP
我正在尝试将一些内容从一个资源迁移到另一个资源,并且需要保存位于远程资源的一些图像(数百张)。
假设我只有一张图片的 URL:
https://www.example.com/some_image.jpg
我想使用 PHP 将它保存到文件系统中。
如果我要上传图片,我基本上会执行以下操作:
<input type="file" name="my_image" />
move_uploaded_file($_FILES['my_image']['tmp_name'], '/my_img_directory');
但由于我只有 URL,我想像这样:
$img = 'https://www.example.com/some_image.jpg';
$file = readfile($img);
move_uploaded_file($file, '/my_img_directory');
这当然行不通,因为 move_uploaded_file()
不将输出缓冲区作为第一个参数。
本质上,在这种方法下,我需要将 $img
放入 $_FILES[]
数组中。或者可能有其他方法?
$image = file_get_contents('http://www.url.com/image.jpg');
file_put_contents('/images/image.jpg', $image); //Where to save the image on your server
您可以使用PHP的复制功能将远程文件复制到您服务器上的某个位置:
copy("https://example.com/some_image.jpg", "/path/to/file.jpg");
我正在尝试将一些内容从一个资源迁移到另一个资源,并且需要保存位于远程资源的一些图像(数百张)。
假设我只有一张图片的 URL:
https://www.example.com/some_image.jpg
我想使用 PHP 将它保存到文件系统中。
如果我要上传图片,我基本上会执行以下操作:
<input type="file" name="my_image" />
move_uploaded_file($_FILES['my_image']['tmp_name'], '/my_img_directory');
但由于我只有 URL,我想像这样:
$img = 'https://www.example.com/some_image.jpg';
$file = readfile($img);
move_uploaded_file($file, '/my_img_directory');
这当然行不通,因为 move_uploaded_file()
不将输出缓冲区作为第一个参数。
本质上,在这种方法下,我需要将 $img
放入 $_FILES[]
数组中。或者可能有其他方法?
$image = file_get_contents('http://www.url.com/image.jpg');
file_put_contents('/images/image.jpg', $image); //Where to save the image on your server
您可以使用PHP的复制功能将远程文件复制到您服务器上的某个位置:
copy("https://example.com/some_image.jpg", "/path/to/file.jpg");