Как сохранить изображение из 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.

Если этот параметр установлен более одного раза, последним будет тот, который используется.

Другие вопросы по тегам