require_once不起作用(相对路径)

时间:2013-03-05 06:49:56

标签: php require-once

我的文件结构如下:

>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

我试过了:

  • 使用require_once作为函数
  • 使用__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}}。

2 个答案:

答案 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>