我的文件结构如下:
>project
>admin
>classes
>class_main.php
>templates
>foot.php
在class_main.php中,我试图使用require_once
来请求相同的文件,具体取决于用户所在的位置(即,如果用户位于admin目录中,require_once "../templates/foot.php"
则require_once "./templates/foot.php"
dirname(__FILE__)
1}})在我班级的__destruct函数内部。
我的问题是无论我尝试什么,我总是收到同样的错误:
警告:require_once(C:\ wamp \ www \ project \ classes / templates / foot.php)[function.require-once]:无法打开流:C:\ wamp \ www \中没有此类文件或目录第22行的project \ classes \ class_main.php
我试过了:
__DIR__
和\
\\
和/
代替 function __destruct()
{
if($this->admtrim($_SERVER['PHP_SELF']) == 'admin')
{
require_once "../templates/foot.php";
}
else
{
require_once './templates/foot.php';
}
}
我该怎么做?
目前__destruct函数的完整代码是:
C:\wamp\www\project\classes\class_main.php
为了澄清,此脚本位于C:\wamp\www\project\templates\foot.php
,我尝试包含的文件位于{{1}}。
答案 0 :(得分:0)
C:\wamp\www\project\classes/templates/foot.php
这应该是自我解释的,在一个链接中查看后退和正斜杠。这应该是
C:\wamp\www\project\classes\templates\foot.php
尝试使用Windows格式的反斜杠
修改强>
如您所述,该文件位于C:\wamp\www\project\templates\foot.php
那么为什么不提供完整路径
require_once("C:\wamp\www\project\templates\foot.php");
答案 1 :(得分:0)
您的模板文件夹位于类文件夹的外部。但错误显示,它在类文件夹中搜索。
C:\wamp\www\project\classes/templates/foot.php
正确包含。</ p>