Я извлекаю и сохраняю изображения из внешнего источника на свой веб-сервер по URL-адресу. Unfortaley иногда я получаю следующую ошибку: не удалось открыть поток: HTTP-запрос не удался! Ошибка внутреннего сервера HTTP / 1.1 500.
Когда я посещаю данный URL с моим браузером, изображение отображается и действует. URL:
http://****.com/00/s/NTgwWDcyNg==/z/7LEAAMXQVT9TCcxx/$_85.JPG
Код, который я использую:
$opts = array('http'=>array('header' => "User-Agent:Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.75 Safari/537.1\r\n", 'timeout' => "360")); $context = stream_context_create($opts); $imageString = file_get_contents(urldecode(urlencode($filename)), false, $context); $save = file_put_contents(dirname(dirname(__FILE__)) . '/tmp/' . $id . '_' . $sequenceNumber . '.jpg', $imageString);
У кого-нибудь есть идея, почему я получаю ошибку 500?
Следующий ответ сработал для меня: PHP file_get_contents 500 Внутренняя ошибка сервера
$opts = array('http' => array('header' => "User-Agent:MyAgent/1.0\r\n")); $context = stream_context_create($opts); $header = file_get_contents('https://www.example.com', FALSE, $context);