【发布时间】:2015-10-22 08:59:51
【问题描述】:
嗯,我有这个dashboard.php文件:
<?php
require_once ('../resources/config.php');
?>
我的文件树看起来像这样:
/home/name/public_html/
- admin/dashboard.php
- 资源/config.php
我真的不知道它到底有什么问题,我在另一个 php 脚本的完全相同的目录中使用完全相同的包含,并且一切运行良好。
有什么想法吗?
编辑:我注意到在某些情况下,从服务器上的同一目录调用的文件的相对路径是不同的,现在我知道为什么了。我使用index.php 来控制URI 请求并拥有更好的URL,我有一个switch 语句,它使用include 来调用请求的文件,所以如果它包含一个脚本,它也有一个include/require 语句,路径会改变.
我现在正在尝试解决这个问题,但我是初学者,所以您的任何建议都会非常有帮助。
非常感谢到目前为止回答的所有人!
【问题讨论】:
-
ls -s 显示您的文件权限。
-
如果你把
var_dump(realpath('../resources/config.php'));exit;放在你的include之前,你会得到什么? -
不确定我是否完全理解您从哪里调用它,如果您尝试
./resources/config.php是否有效?此外,您真的应该只使用require()而不是require_once(),它更有效。如果您正确编写代码,require_once()几乎没有充分的理由,它只会减慢速度。 -
@iam-decoder 它说
bool(false),实际上如果我设置到另一个目录的路径,realpath 只会给我空结果,但我试图回显realpath('config.php');它指向根我网站的目录 - 就像使用<a href="/config.php",所以我摆脱了 '../' 作为我的要求,现在它可以工作了,但是......我真的不明白为什么...... -
@Kyle 我把它从 rootdir/admin/dashboard.php 调用到 rootdir/resources/config.php 嗯,这实际上是我的第一个项目,所以我会记住你的建议。 :)
标签: php file path directory warnings