@idmudak

Как на php реализовать скачивание на сервер фотографии по ссылке?

Можно ли на php реализовать переход на адрес (ссылку на фотографию) и скачивание нужного файла на ЖД?
Например:
скрипт переходит на сайт www.three.co.uk/hub/wp-content/uploads/Google-logo...
и сохраняет фотографию на жёсткий диск сервера
Если можно, пожалуйста подскажите, как?
  • Вопрос задан
  • 78 просмотров
Решения вопроса 2
hOtRush
@hOtRush
file_put_contents('destination.png', file_get_contents('http://site.com/source.png'));
Ответ написан
Комментировать
Kozack
@Kozack
Thinking about a11y
file_put_contents( $path, file_get_contents( $url ) )
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
SerafimArts
@SerafimArts
Senior Notepad Reader
$dest = fopen($path, 'ab+');
flock($dest, LOCK_EX);

stream_copy_to_stream($source = fopen($url, 'rb'), $dest = fopen($path, 'ab+'));

fclose($source);
fclose($dest);


file_put_contents довольно паршивый вариант, т.к. выгружает в память сразу весь объём данных и при превышении допустимого всё упадёт. Лучше использовать рестриминг потока.

P.S. С другой стороны нужно бы посмотреть, кажется "http" враппер после хедшейка всё в буфер грузит сразу же, вместо использования чанкинга.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы