我正在尝试将一些内容从一个资源迁移到另一个资源,并且需要保存位于远程资源的一些图像(几百个)。
假设我只有图片的网址:
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[]
数组中。还是可以采取其他方法?
答案 0 :(得分:1)
$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
答案 1 :(得分:1)
您可以使用PHP的复制功能将远程文件复制到服务器上的某个位置:
copy("https://example.com/some_image.jpg", "/path/to/file.jpg");