Сохраните удаленный img-файл на сервере с помощью php


Я хочу сохранить удаленный img-файл на своем сервере, но я не знаю, как это сделать.

URL-адрес изображения http://img.youtube.com/vi/Rz8KW4Tveps/1.jpg и 1.jpg должен быть сохранен и переименован в imgfolder/imgID.jpg

 10
Author: Johan, 2009-09-03

2 answers

Вы можете использовать file_get_contents() для загрузки удаленного изображения в двоичную строку внутри вашего PHP-скрипта (доступ к файлам в PHP часто принимает URL-адреса для доступа к удаленным ресурсам - это очень удобно), а затем сохраните этот файл где-нибудь, где у вас есть доступ на запись. Вот очень простой пример:

$image = file_get_contents("http://img.youtube.com/vi/Rz8KW4Tveps/1.jpg");
file_put_contents("imgfolder/imgID.jpg", $image);

Тада!

 31
Author: Guss, 2009-09-03 07:49:26

Если разрешены обертки потока URL-адресов, вы можете сделать это в 1 строке вместо того, чтобы загружать ее в var:

copy('http://img.youtube.com/vi/Rz8KW4Tveps/1.jpg', 'imgfolder/imgID.jpg');

Это с гораздо меньшей вероятностью вызовет проблему с нехваткой памяти в PHP.

 22
Author: Ciaran McNulty, 2009-09-03 08:32:25