PHP включает файлы с точками в имени файла - PullRequest
0 голосов
/ 06 апреля 2009

Есть ли проблема с некоторыми версиями PHP и именами файлов, которые выглядят так:

report.class.php

Я пытался использовать один, и он один раз потерпел неудачу и работал один раз, но я не могу воспроизвести ошибку. Так что я не совсем уверен, в чем причина, предпочитаю использовать имена файлов, разделенные точками, но сильно предпочел бы не использовать «хрупкие» имена файлов на моем сайте.

Ответы [ 2 ]

7 голосов
/ 06 апреля 2009

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

Попробуйте вместо этого назвать ваши классы в шаблоне class.xxx.php. Таким образом, они будут алфавитизированы вместе.

4 голосов
/ 06 апреля 2009

Вы не забыли процитировать свое имя файла?

например, должно быть:

include 'report.class.php';

не

include report.class.php;

В последнем случае отсутствие кавычек приводит к тому, что PHP интерпретирует строки как константы, а затем завершается с ошибкой E_NOTICE и предполагает, что вы намеревались использовать строковые литералы. Точки будут интерпретироваться как операторы конкатенации строк, и PHP в итоге интерпретирует вашу команду как эквивалентную следующему:

include 'reportclassphp';

Если это действительно то, что произошло, то обязательно включите ошибки уровня PHP NOTICE и обратите на них внимание. Хотя ошибки уровня NOTICE могут показаться неприятными, в большинстве случаев они могут указывать на реальные логические проблемы в вашем коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...