![](/img/trans.png)
[英]Include PHP, not working when included php code is for files in different directories
[英]php included files and directories
可以说我在目录new_folder中有两个文件:a.php和b.php
在a.php文件中有一条语句:
include_once 'b.php'
另外,我在父文件夹中有一个文件demo.php,在演示文件中有一条语句:
include_once 'new_folder/a.php'
IE的文件夹结构为:
demo.php
new_folder
- a.php
- b.php
为什么要在a.php文件中编写:
include_once 'b.php'
正确的路径 include_once './b.php'
错误的路径 include_once 'new_folder/b.php'
错误的路径 尝试这个
require_once('../b.php');
我的答案基于php.net:文件是基于给定的文件路径包含的,或者,如果没有给出,则包含指定的include_path。 如果在include_path中找不到该文件,则include最终将在失败之前检入调用脚本的自身目录和当前工作目录。
这意味着如果我用a.php编写:include_once'b.php'; 然后在demo.php中包含a.php,然后首先在include_path中查找文件,然后在调用脚本(a.php)的目录中查找文件,然后才查找文件在工作目录(即我们运行并启动所有包含文件的文件的目录-demo.php)中
编辑:我尝试运行它,发现首先是在工作目录中是否有b.php,然后它将包括它,而不是调用脚本的自己目录中的b.php。
最后检查文件的位置是new_folder(调用脚本自己的目录)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.