PHP包含文件名中包含句点的文件

时间:2009-04-06 16:49:10

标签: php

某些版本的PHP和文件名是否有问题,如下所示:

report.class.php

我试图使用一个,它失败了一次并且工作了一次,但我不能复制失败。所以我不确定原因是什么,更喜欢使用以句点分隔的文件名,但更不希望在我的网站上使用“脆弱”的文件名。

2 个答案:

答案 0 :(得分:7)

包含多个句点的文件名在PHP中工作正常。我希望我能提供更多帮助,但由于你无法复制失败,我只能向你保证它不是文件名。

考虑在模式class.xxx.php中命名你的类。它们将以这种方式按字母顺序排列。

答案 1 :(得分:4)

你记得引用你的文件名吗?

例如,它应该是:

include 'report.class.php';

不是

include report.class.php;

在后一种情况下,缺少引用会导致PHP将字符串解释为常量,然后使用E_NOTICE失败,并假设您打算使用字符串文字。句点将被解释为字符串连接运算符,PHP将最终将您的命令解释为等效于以下内容:

include 'reportclassphp';

如果这是,事实上发生了什么,那么请务必转换PHP NOTICE级错误,并注意它们。虽然NOTICE级别错误可能看起来很令人讨厌,但大多数时候它们可能会暗示代码中的实际逻辑问题。