PHP中require和include路径问题总结
由于“相对路径”中的“参照目录”是执行入口文件所在目录,“未确定”路径也比较容易混淆,因此最好的解决方法是使用“绝对路径”.
方案一:dirname(_file_)
例如b.php的内容如下,无论在哪里require b.php都是以b.php的路径为参照来require c.php的
$dir = dirname(__FILE__);
require($dir . '../c.php');
或是直接写成
require dirname(__FILE__) . '../c.php' ;
方案一: 定义一个通用函数 import.php
定义一个通用函数 import.php,将其设置为“自动提前引入文件”,在php.ini做如下配置
更改配置项(必须)
auto_prepend_file = “C:\xampp\htdocs\auto_prepend_file.php”
更改配置项(可选)
allow_url_include = On
import.php内容如下
function import($path) {
$old_dir = getcwd(); // 保存原“参照目录”
chdir(dirname(__FILE__)); // 将“参照目录”更改为当前脚本的径
require_once($path);
chdir($old_dir); // 改回原“参照目录”
}
这样就可以使用import()函数来require文件了,无论包含多少级“参照目录”都是当前文件
本文总结了PHP中require和include路径问题,包括相对路径、未确定路径的混淆,以及提供了使用绝对路径、dirname()函数、定义通用import函数等解决方案,帮助开发者避免路径相关错误。
1万+

被折叠的 条评论
为什么被折叠?



