PHP Wamp не находит файл, который существует - PullRequest
0 голосов
/ 25 февраля 2010

У меня возникла критическая проблема, когда моя установка WAMP для PHP 5.3.0 не нашла файл, который существует на моем компьютере. Кто-нибудь знает что-нибудь об этом? Возможно, ошибка PHP? Любая помощь будет высоко ценится.

Вот переменная, которая создает файл:

$baseNewsUrl = "C:/reviews/reviews/$platform/$fullname";

А вот код, который захватывает содержимое:

if(is_file($baseNewsUrl)){
    $contents = file_get_contents($baseNewsUrl);
} else {
    echo "File not found. " . "\r\n";
    continue;
}   

Вот вывод $baseNewsUrl: C: /reviews/reviews/GBA/r20107_GBA.htm И файл существует.

Ответы [ 5 ]

0 голосов
/ 25 февраля 2010

на окнах

$baseNewsUrl = "C:\\reviews\\reviews\\$platform\\$fullname";
0 голосов
/ 25 февраля 2010

Это связано с Windows Vista и WAMP.

0 голосов
/ 25 февраля 2010

Сделайте var_dump (не эхо) для вашей переменной.

var_dump($baseNewsUrl);

и посмотрите на фактическое содержание. У вас могут быть некоторые невидимые символы мусора, которые мешают Windows, если вы делаете это в браузере, чтобы убедиться, что нет пустых тегов (или других символов, не отображаемых в браузере).

Если это ничего не показывает, снимите флажок is_file и попробуйте открыть файл с помощью file_get_contents (или любой связанной с файлом функции) и var_dump его содержимого. Вы либо откроете файл, либо PHP выдаст сообщение об ошибке / предупреждение / уведомление (либо в ваш браузер, либо в журнал ошибок), которое должно сообщить вам, почему он не может открыть файл.

0 голосов
/ 25 февраля 2010

Я скажу это, и это вполне может не быть вашей проблемой, но для меня это повторяется. Если вы используете Skype на своем компьютере, у него есть известная проблема совместимости с WAMP. Это приводит к нестабильной работе WAMP, неправильной загрузке файлов ... все.

0 голосов
/ 25 февраля 2010

Убедитесь, что весь путь, ведущий к вашему файлу, доступен для чтения пользователем, с которым работает PHP (если вы используете IIS, это может быть что-то вроде «Сетевой сервис», хотя я не особенно знаком с PHP на Windows) , Кроме того, проверьте, установлены ли директивы INI "open_basedir" или, возможно, "safe_mode" - они дадут навязанные PHP ограничения на доступ к файлам.

...