Пытаюсь с помощью file_get_contents получить изображение с удаленного сервера в переменную, но мне пишет что
failed to open stream: HTTP request failed! HTTP/1.1 503 Service Temporarily Unavailable
Хотя перехожу по этой же ссылке в браузере и все отлично отображается.Ссылка имеет вид(как пример)
https://cs.sankakucomplex.com/data/e4/15/e415cbc4a0c3b170ebdf21957d072a97.gif?e=1524847443&m=NE5x3_vCJcLkL3LLjsnAlg
Если убирать все до расширения, то выкидывает на редирект с плашкой, что такого изображения нет на сервере.Соответственно в браузере если вставлять этот полный url, то открывает все отлично и сразу отдельно изображение на всю страницу. Сам тег, откуда дергаю ссылку имеет вид:
<img alt="///тут теги\\\" id="image" onclick="Note.toggle();" orig_height="301" orig_width="815" src="//cs.sankakucomplex.com/data/e4/15/e415cbc4a0c3b170ebdf21957d072a97.gif?e=1524847443&m=NE5x3_vCJcLkL3LLjsnAlg" pagespeed_url_hash="3408885876" onload="pagespeed.CriticalImages.checkImageForCriticality(this);" width="815" height="301">
В чем может быть проблема?Я так понимаю что это какой-то запрет на скачивание файла с сервера, но как его обойти?
Попробуйте так:
$referer = "http://abc.info";
$opts = array(
'http'=>array(
'header'=>array("Referer: $referer\r\n")
)
);
$context = stream_context_create($opts);
file_put_contents($img, file_get_contents($node_img, false, $context));
Сборка персонального компьютера от Artline: умный выбор для современных пользователей