Подтвердить что ты не робот

PHP сохранить файл изображения

Возможный дубликат:
Сохранение изображения из PHP URL

У меня есть изображение в виде URL-ссылки со стороннего веб-сайта (IE http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com). Я хочу запустить скрипт, который берет изображение и сохраняет его в каталоге на моем сервере, используя php. Как это сделать? я бы использовал File Write?

4b9b3361

Ответ 1

Не нужно создавать ресурс GD, как предлагалось другим.

$input = 'http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com';
$output = 'google.com.jpg';
file_put_contents($output, file_get_contents($input));

Примечание. Это решение работает только в том случае, если вы настроите разрешение на доступ к URL-адресам. Если вышеприведенное решение не работает, вам нужно будет использовать cURL.

Ответ 2

Примечание: вы должны использовать принятый ответ, если это возможно. Это лучше, чем мое.

Это довольно легко с GD library.

Он обычно создается, возможно, у вас есть (используйте phpinfo() для проверки)

$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");

imagejpeg($image, "folder/file.jpg");

Вышеуказанный ответ лучше (быстрее) для большинства ситуаций, но с GD вы также можете изменить его в некоторой форме (например, обрезка).

$image = imagecreatefromjpeg("http://images.websnapr.com/?size=size&key=Y64Q44QLt12u&url=http://google.com");
imagecopy($image, $image, 0, 140, 0, 0, imagesx($image), imagesy($image));
imagejpeg($image, "folder/file.jpg");

Это работает, только если allow_url_fopen - true (по умолчанию)