windows上的php包含路径
我在Windows上使用PHP,只需几天时间。我被指示的全部时间包括以下方式: 在index.php文件中:windows上的php包含路径,php,path,include,Php,Path,Include,我在Windows上使用PHP,只需几天时间。我被指示的全部时间包括以下方式: 在index.php文件中: require ('include/init.inc'); 在“包括”目录中,我声明: 在init.inc文件中: require ("workbench.inc"); 但突然间,它不再起作用了。我必须同时在“init.inc”中指定目录。 为什么它一直在工作,却突然不工作了?来自 文件是根据给定的文件路径包含的,如果没有给定文件路径, 指定的包含路径。如果在中找不到该文件 inc
require ('include/init.inc');
在“包括”目录中,我声明:
在init.inc文件中:
require ("workbench.inc");
但突然间,它不再起作用了。我必须同时在“init.inc”中指定目录。
为什么它一直在工作,却突然不工作了?来自
文件是根据给定的文件路径包含的,如果没有给定文件路径,
指定的包含路径。如果在中找不到该文件
include\u路径,include将最终检入调用脚本自己的
目录和失败前的当前工作目录
因此(CWD)在包含其他文件时非常重要。它可以通过getcwd()
检索
如果您的目录结构如下所示
rootdir/
include/
init.rc
workbench.rc
index.php
然后,require('include/init.rc')
仅在rootdir/
是CWD或是搜索路径的一部分时才起作用。同样,require('init.inc')
假设CWD是rootdir/include/
。由于当前工作目录可以更改,因此在PHP中使用更健壮的
// in index.php
require(__DIR__ . '/include/init.rc');
// in workbench.rc
require(__DIR__ . '/init.rc');
然后,require
将独立于CWD工作。这之所以有效,是因为将替换为包含常量的文件的绝对路径,例如,该文件不带尾随目录分隔符
- 在
中,index.php
目录是
和D:\path\to\rootdir
- 在
中,include/init.rc
目录是
D:\path\to\rootdir\include