2013-02-28 5 views
0

Это было какое-то время, когда я использовал функцию file_get_contents, чтобы получить html-данные с веб-сайта. но сегодня не знаю, почему я использовал:Как заставить file_get_contents работать

$html = @file_get_contents('http://www.thewebsite.com/'); 
if(!$html) 
    exit("Oops. Error :)");  

И это покажет мне сообщение об ошибке. Поэтому, возможно, они каким-то образом препятствуют соединению.

Пожалуйста, объясните, как я могу заставить функцию получить содержимое?

EDIT:

Это дает эту ошибку:

Warning: file_get_contents(http://www.thewebsite.com/) 
     [<a href='function.file-get-contents'>function.file-get-contents</a>]: 
     failed to open stream: HTTP request failed! 

PS Я попробовал другой веб-сайт, и это работает отлично

+2

Вы забыли прочитать документацию. Ниже перечислены некоторые причины, по которым 'file_get_contents' может быть сбой. –

+0

В нем не отображается важное сообщение об ошибке, поскольку вы 've подавил его с помощью '@'. Удалите его и отредактируйте свой вопрос. –

+0

Возможно, это _thewebsite_, который нуждается в исправлении. –

ответ

2
  1. Убрать подавления предупреждения
  2. Включите ошибки отчетность
  3. Проверьте сообщения в error_log Вы должны увидеть подробное сообщение об ошибке вместо «Oops. Ошибка.»Тогда вы будете знать, почему он не работает
+0

Просто обновите сообщение –

+0

Затем попробуйте сообщить об ошибке Google. http://stackoverflow.com/questions/697472/file-get-contents-returning-failed-to-open-stream-http-request-failed –

+0

Спасибо, Питер за это –

0

Согласно странице руководства. URL-адрес может быть использован в качестве имени файла с этой функцией, если FOPEN обертка была включена. ли вы на самом деле проверить, каждый URL возвратит false и дал ошибку. Тогда, очевидно, вам нужно проверить настройки.

Смежные вопросы