Сохранение удаленного изображения программно с помощью PHP - PullRequest
0 голосов
/ 16 мая 2018

Я пытаюсь перенести некоторый контент из одного ресурса в другой, и мне нужно сохранить несколько изображений (несколько сотен), расположенных на удаленном ресурсе.

Предположим, у меня есть только 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[] при таком подходе. Или может какой-то другой подход?

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

Вы можете использовать функцию копирования PHP для копирования удаленных файлов в папку на вашем сервере:

copy("https://example.com/some_image.jpg", "/path/to/file.jpg");

http://php.net/manual/en/function.copy.php

0 голосов
/ 16 мая 2018
$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
...