Tri*_*tan 1 php include include-path
当包含的文件本身包含另一个文件但是用点前缀引用它时,我遇到了包含问题.例如,有三个文件 - inc1.php,inc2.php和subdir/test.php,其内容是 -
子目录/ test.php的:
set_include_path(get_include_path().":../:../.");
require("inc1.php");
Run Code Online (Sandbox Code Playgroud)
inc1.php:
require("./inc2.php");
Run Code Online (Sandbox Code Playgroud)
inc2.php
echo "OK";
Run Code Online (Sandbox Code Playgroud)
这包括此处显示的树因无法打开的流而失败:没有此类文件或目录错误.如果inc1.php包含一个简单的require("inc2.php"),它就可以工作.,没有"./"前缀.我添加了"../." 将include路径作为尝试使其工作,但这没有任何效果.
除了使用"./"前缀执行include之外,这里有什么解决方案,假设inc1.php和inc2.php不可写,你只能改变subdir/test.php?你怎么能在test.php中包含inc1.php?
作为参考,我使用的是PHP 5.2.9.
始终包括使用以下样式,除非您有(非常)令人信服的理由不这样做:
include(dirname(__FILE__)."/inc2.php");
Run Code Online (Sandbox Code Playgroud)
它可以避免各种令人头疼的问题.
归档时间: |
|
查看次数: |
2712 次 |
最近记录: |