Привет всем! Имею PHP 5.4.19. Желая получить содержимое текстового файла (заведомо лежащего по данному URLу - в браузере всё открывается), пишу: Код (Text): $txt = file_get_contents('https://www.sidc.be/SILSO/DATA/EISN/EISN_current.txt'); var_dump($txt); и получаю NULL. На другом сервере (и другом PHP 7.4.33) всё работает. На том же сервере, но с другими URL, например, https://www.google.com/ - тоже всё ОК. Догадываюсь, что дело, вероятно, в настройках PHP, но доступа к ним не имею. Можно ли как-нибудь поменять код, чтобы он работал и в первом случае? Пробовал cURL, но результат тот же. Владимир.
А как это согласуется с тем, что Код (Text): $txt = file_get_contents('https://www.google.com/'); работает штатно?
Если на том же сервере, где первая ссылка не открывается, а эта открывается, возможно, какой-то бан с их стороны, у меня на локальной машине всё ок.
Добрый день, Владимир! Интересный вопрос. Проверил на PHP 5.4 PHP: <? echo ini_get("allow_url_fopen"),"<br>"; $url = 'https://www.sidc.be/SILSO/DATA/EISN/EISN_current.txt'; $txt = file_get_contents($url); var_dump($txt); echo "<hr>"; $ch = curl_init(); $url = strtolower($url); curl_setopt($ch, CURLOPT_URL, $url); $result = curl_exec($ch); echo 'Curl-Error: ' . curl_error($ch),"<br>"; curl_close($ch); var_dump($result); ?> allow_url_fopen=1 т.е. проблема не в php.ini Если бы Вы попробовали в cURL добавить curl_error, то увидели в чём причина: Можно попытаться как-то обойти, но проще забыть PHP 5.4 как кошмарный сон и перейти на актуальную версию PHP. Удачи!
У меня под Win10 на PHP 5.4.45x64 приходит, на 5.4.45x86 не приходит, откуда на серверах такая древность?
Как я уже сказал, доступа к настройкам PHP не имею, и предпочёл бы не привлекать внимание администрации к тому, что я вообще использую PHP. Быть может, намекнёте на направления обхода? Так получилось Ж)
Я бы поставил пиво админу сервера за обновление PHP до актуальной версии и установку нужных настроек, проще выхода не вижу.
Добрый день! Намёк на направление обхода - API. На сайте, с которого Вы безуспешно пытаетесь прочесть данные на PHP 5.4.19, есть страница https://www.sidc.be/SVO (SOLARNET Virtual Observatory) там есть ссылка на HEK database: https://www.lmsal.com/heksearch/ Есть и API по этой теме https://sunpy.org Удачи! P.S. Однако, PHP 5.4.19 это очень "короткий поводок" и успех при любых направлениях маловероятен .