файл получает содержимое и порт 8000
На моей странице "ipage", когда я использую file_get_contents по URL-адресу с портом 8000, я ничего не получаю.
Например:
$geturl = file_get_contents('http://mfpradio.no-ip.org:8000/status.xsl');
print_r($geturl);
Это работает локально.
'ipage' даже не читает сценарий после 'print_r'. Он работает, например, с:
$geturl = file_get_contents('http://stackoverflow.com');
Я пробовал curl, та же проблема.
Я могу воспроизводить свой поток на своей странице "ipage".
Таким образом, похоже, что "ipage" блокирует порт "8000" для file_get_contents()
.
Нормально ли, что веб-хост делает это?
3 answers
PHP имеет возможность блокировать работу функций обработки файлов по URL-адресу. Эта опция часто включается хостинговыми компаниями по соображениям безопасности.
Узнайте, какова настройка этого флага - используйте что-то вроде ini_get('allow_url_fopen')
, чтобы узнать, разрешено ли это. Я предполагаю, что он будет настроен так, чтобы этого не допустить.
Если это не разрешено хостом, то вам придется использовать альтернативный метод (и, возможно, более сложный) для чтения данных. Обычный ответ заключается в том, чтобы используйте CURL (хотя это может быть довольно многословный код. кроме того, возможно, что расширение CURL также недоступно)
Почему бы не использовать CURL
?
Вы уверены, что сервер может получить доступ к этой странице? Он должен работать с доменом.com:порт
Пожалуйста, убедитесь, что сервер http://mfpradio.no-ip.org:8000 / порт, т.е. 8000, открыт в брандмауэре вашего сервера как исходящий порт для чтения информации о странице…
File_get_contents() попробуйте прочитать содержимое страницы с этого порта:)