当我使用require_once时,我收到以下错误:
"PHP Fatal error: require_once(): Failed to opening required '/Application/Rules/required_file.class.php'"
我的目录结构是:
“file”是我使用require_once
的地方:
require_once('/Application/Rules/required_file.class.php');
为什么会出错?任何人都可以帮我解决这个问题吗?
答案 0 :(得分:2)
如果我说对了你,你就是在打电话给
require_once('/Application/Rules/required_file.class.php');
在file
内?这样做不,因为require_once
始终与当前文件夹相关,只要您不使用绝对路径。
相反,你需要打电话
require_once('../../Application/Rules/required_file.class.php');
因为您要包含的文件与file
不在同一文件夹中。
../
返回层次结构中的一个文件夹。
../../
因此从/Users
返回/Public
然后再转到/Project
,然后您可以转到/Application
。
我认为article可以很好地解释 relative 和绝对路径之间的区别。
relative 路径指向与当前文件所在位置相关的文件或目录。
绝对路径是"完整路径"从网络服务器的角度来看。它是包含文档根目录的路径。例如/var/www/mydomain.com /.
答案 1 :(得分:0)
/Application/Rules/...
是unix绝对路径
使用相对路径../../Application/Rules/...
或适当的绝对路径
/var/www/public_html/Project/Application/Rules/...
(unix,示例)
或
C:/wamp/projects/Project/Application/Rules/...
(windows,示例)
答案 2 :(得分:0)
使用DIRECTORY_SEPARATOR适用于windows和unix
define('DS', DIRECTORY_SEPARATOR);
require_once('Application' .DS. 'Rules' .DS. 'required_file.class.php');