Сохранить удаленный img файл на сервере, с php

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

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

Ответ 1

Вы можете использовать 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);

Тада!

Ответ 2

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

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

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