Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从当前脚本以外的基本路径包含PHP脚本?_Php_Include_Directory - Fatal编程技术网

如何从当前脚本以外的基本路径包含PHP脚本?

如何从当前脚本以外的基本路径包含PHP脚本?,php,include,directory,Php,Include,Directory,我有一个PHP应用程序,我正试图包括,但它造成的问题,因为我试图包括它的文件从一个子目录。例如,下面是我尝试使用的目录结构(或多或少): /site /scripts /local some_script.php lib_file_a.php lib_file_b.php lib_load.php lib\u load.php有一个include命令,用于文件lib\u file\u a.php和lib\u file\u

我有一个PHP应用程序,我正试图包括,但它造成的问题,因为我试图包括它的文件从一个子目录。例如,下面是我尝试使用的目录结构(或多或少):

/site
    /scripts
        /local
            some_script.php
    lib_file_a.php
    lib_file_b.php
    lib_load.php
lib\u load.php
有一个
include
命令,用于文件
lib\u file\u a.php
lib\u file\u b.php
(相对路径)

我想要完成的是从
一些脚本.php
中包含
lib\u load.php
,但是我包含
lib\u load.php
的方式有问题。起初我尝试了
require('../../../lib_load.php')

正如您所料,我看到了错误,“无法打开所需的'C:\xampp\htdocs\site\scripts\local\lib\u file_a.php'”。如您所见,PHP试图包含一个不存在的文件。我发现一个堆栈溢出帖子告诉我使用绝对路径,但这没有帮助。接下来我尝试了以下代码:

require(realpath(dirname(__FILE__) . '../../../' . 'lib_load.php'));
然而,这一次,同样的错误又回来了。我做错了什么

编辑:我意识到问题实际上是在库加载器中,它包含基于绝对路径而不是相对路径的文件。(我应该仔细阅读)我通过改变图书馆使用的路径解决了这个问题。如果mod看到此请求,则应关闭此问题。

尝试以下操作:

require dirname(__FILE__) . '/../../../lib_load.php');
或者,如果您使用的是PHP5.3或更高版本,请使用此选项(它看起来更好):

包括lib加载

require $_SERVER['DOCUMENT_ROOT'] . '/scripts/lib_load.php';
库内加载

require dirname(__FILE__) . '/lib_file_a.php';
如果我没弄错你的问题

require dirname(__FILE__) . '/lib_file_a.php';