PHP "Нет такого файла или каталога" - но он должен быть там - PullRequest
2 голосов
/ 03 августа 2010

У меня просто странная проблема.Я включаю некоторые файлы из моего index.php, и теперь я получил эту ошибку:

 require(cfg/cfg.database.inc.php) [function.require]: failed to open stream: No such file or directory in C:\...\index.php on line XX

Странно, что это сработало минуту назад.Я дважды проверил написание этого имени файла.

Что я сделал: я использую Notepad ++ и увидел свой код следующим образом:

require("cfg/cfg.database.inc.php" );

Я хотел удалить пробел между " и ), поэтому я переместилкурсор там и нажал Del, но он удалил последний p из .php.

Я удалил всю строку и переписал ее, и теперь я получаю сообщение об ошибке, что файл не может быть найден.Я также переименовал файл, который не работает.Все файлы в подкаталоге cfg получают эту ошибку, но не в других подкаталогах.

Кто-нибудь знает, что я делаю неправильно или что я могу сделать, чтобы найти проблему? Спасибо.

/ edit: Моя файловая структура

index.php
cfg/cfg.database.inc.php
cfg/cfg.other.inc.php
core/class.user.inc.php
core/...

Все включает в себя core работы, ни один из них из cfg

Ответы [ 3 ]

1 голос
/ 03 августа 2010

Обычно для такого поведения есть две причины

  1. Ваш PHP-файл и / или имя вашего файла имеют символ, который отображается на экране как стандартная буква ascii, нона самом деле какая-то другая буква в другой кодировке

  2. У вас есть несколько папок cfg, а PHP ищет неправильную.

Дайте этопопробуйте посмотреть, какую папку cfg (относительно вашего запущенного скрипта) видит PHP, и какие файлы он там видит.

$my_cfg_files = glob('./*');

Далее попробуйте запросить файлы, повторив цикл

header('Content-Type: text/plain');
foreach($my_cfg_files as $file)
{
    echo 'trying ' . $file . "\n";
    require_once($file);
}
exit("\n Done \n");

Взгляните на список файлов, которые он выводит.Скопируйте то, что печатает сценарий, и включите его в свое требование require.

1 голос
/ 03 августа 2010

Все файлы в подкаталоге cfg получают эту ошибку, но не в других подкаталогах.

Попытка:

require("cfg.database.inc.php");
0 голосов
/ 11 октября 2012

Там может быть пробел:

require("cfg.database.inc.php   ");

Удалить это:

require("cfg.database.inc.php");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...