2010-05-17 3 views
1

На сервере у меня есть файл some.php. Я пытаюсь прочитать содержимое, используя file_get_content и fread. Оба они не читают мой контент.PHP-файл не работает

Если я попробую другой URL-адрес, например yahoo.com, эти функции читают содержимое. Почему это происходит?

$my_conetn = file_get_contents("http://example.com"); 
echo $my_conetn; 

Приведенный выше фрагмент не работает.

$handle = fopen($filename, "r"); 
$contents = fread($handle, 20); 
echo $contents; 
fclose($handle); 

Также приведенный выше фрагмент не работает.

Как проверить мой сервер? Есть ли какая-либо операция чтения файла заблокирована или нет?

Редактировать: Я не уверен, но это только мой файл сервера, который нельзя прочитать. Я могу прочитать другие ссылки на сервер. Поэтому я обращаюсь к своему провайдеру хостинга, затем я возвращаюсь к вам, ребята/девочки.

+0

Какой контент вы пытаетесь читать? Есть ли сообщение об ошибке? Вставьте пример. –

+0

Было бы очень полезно, если вы разместите свой код, иначе мы можем только ** угадать **, в чем проблема. Возможно, веб-сервер yahoo все умер ... –

+0

... и было бы полезно просмотреть некоторые сообщения об ошибках. –

ответ

7

При использовании функций файлов для доступа к удаленным файлам (пути, начинающиеся с http: // и аналогичных протоколов) он работает только в том случае, если включен параметр php.ini allow_url_fopen. Кроме того, вы не имеете никакого влияния на отправленный запрос. Использование CURL рекомендуется при работе с удаленными файлами.

Если это локальный файл, убедитесь, что у вас есть доступ к файлу - вы можете проверить это с помощью is_readable($filename) - и что оно находится в пределах вашего ограничения open_basedir, если оно установлено (как правило, для вашего корня документа в средах с общим хостингом).

Кроме того, включение ошибок при отладке проблем:

ini_set('display_errors', 'on'); 
error_reporting(E_ALL); 
Смежные вопросы