Скачиваем картинку при помощи cURL
Бывает ситуация, когда Вам необходимо получить изображение с другого сайта, но в настройках конфигурации Вашего сервера отключена опция «allow_url_fopen», или у Вас не получается получить изображение с помощью file_get_contents. Тогда Вы можете воспользоваться средствами cURL.
Как это работает?
Для начала убедитесь, что на Вашем веб-сервере имеется библиотека cURL. Создайте каталог, в который будет производиться запись изображений, например img. Установите на этот каталог права для записи (обычно 0755 или 0777).
Создайте рядом с этим каталогом файл PHP и добавьте в него следующий код:
<?php
function save_image($img,$path){
$curl = curl_init($img);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_BINARYTRANSFER,1);
$content = curl_exec($curl);
curl_close($curl);
if (file_exists($path)) :
unlink($path);
endif;
$fp = fopen($path,'x');
fwrite($fp, $content);
fclose($fp);
}
$img = 'http://www.google.com/images/icons/ui/doodle_plus/doodle_plus_google_logo_on_grey.gif';
$path = 'img/logo.gif';
save_image($img, $path);
?>
Как Вы видите, в переменную $img мы добавляем ссылку на изображение, которое хотим сохранить к себе, указываем в переменную $path путь до каталога и с каким именем будет сохранено изображение. После этого вызываем функцию save_image($img, $path), в которую передаем соответствующие параметры.
В качестве примера на наш сервер сохраняется изображение логотипа Google.
Также Вы можете скачать код скрипта из вложения в конце статьи
Комментарии
Здесь еще никто не оставлял комментарии.