Как сохранить изображение из URL с помощью PHP?
URL-адрес изображения: http://phim.xixam.com/thumb/giotdang.jpeg
Мой код:
$img = 'http://phim.xixam.com/thumb/giotdang.jpeg';
file_puts_content('abc.jpg', file_get_contents($img));
Но я получаю предупреждение:
file_get_contents ( http://phim.xixam.com/thumb/giotdang.jpeg) [function.file-get-contents]: не удалось открыть поток: ошибка HTTP-запроса! HTTP/1.0 403 Запрещено в...
Я пытаюсь сохранить это изображение с помощью cURL, но тоже не работает.
1 ответ
Код php кажется технически правильным, но кажется, что по тем или иным причинам вы заблокированы. Предполагая, что вы пробуете его из браузера на той же машине, и он работает, я бы предположил фильтрацию строк UserAgent. Попробуйте использовать допустимую строку агента пользователя с cURL.
С http://curl.haxx.se/docs/manpage.html:
-А, - пользователь-агент
(HTTP) Укажите строку User-Agent для отправки на HTTP-сервер. Некоторые плохо выполненные CGI не работают, если для этого поля не установлено значение "Mozilla/4.0". Чтобы кодировать пробелы в строке, окружите строку одинарными кавычками. Это также можно установить с помощью опции -H, --header.
Если этот параметр установлен более одного раза, последним будет тот, который используется.