根据php手册:
指定require,include,fopen(),file(),readfile()和file_get_contents()函数查找文件的目录列表。格式类似于系统的PATH环境变量:用Unix中的冒号或Windows中用分号分隔的目录列表。
我不明白你为什么要指定目录?
例如我看到了这段代码
<?php
defined("DS") || define("DS", DIRECTORY_SEPERATOR);
defined("ROOT_DIR") || define("ROOT_DIR", realpath(dirname(__FILE__).DS."..".DS));
defined("CLASSES_DIR") || define("CLASSES_DIR", "classes");
set_include_path(implode(PATH_SEPERATOR, array(
realpath(ROOT_DIR.DS.CLASSES_DIR.DS),
get_real_path()
)));
?>
为什么要将CLASSES_DIR添加到包含路径?你不能做像需要的东西(“classes / example.php”)吗?
答案 0 :(得分:2)
通过设置包含路径,您不再需要明确指定文件的完整路径,因为php有一些选项可供选择,即您的示例.php&#39;。假设你有一个名为&#39; exampleClass.php&#39;的php文件。在你的&#39; DOCUMENT_ROOT / classes&#39;目录和index.php直接位于您的DOCUMENT_ROOT:
下<?php
set_include_path(DOCUMENT_ROOT . DIRECTORY_SEPARATOR . 'classes');
// Note that exampleClass.php is not located in the same directory as this index.php
require('exampleClass.php');
?>
但是我想补充一点,在描述的例子中,可能有更好的组织和构建项目的替代方案,以避免(#hope/this/path/is/the/right/one.php) &#39;声明。例如。将namespaces与autoloading
结合使用