Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.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,很抱歉为一件小事打扰你。我无法在任何搜索栏上正确地回答这个问题,我试过谷歌,但没有得到相关的答案 我目前正在设置一个include语句,来自不同文件夹的PHP文件需要包含相同的文件,即“(Top directory)/public\u html/include/Head.PHP” 我不知道如何告诉PHP在顶层目录中查找public_html。我原本以为这就是“.”的目的,但它似乎表现得很坚强。有人能解释一下吗 以下是我正在使用的: <?php include("../public_html

很抱歉为一件小事打扰你。我无法在任何搜索栏上正确地回答这个问题,我试过谷歌,但没有得到相关的答案

我目前正在设置一个include语句,来自不同文件夹的PHP文件需要包含相同的文件,即“(Top directory)/public\u html/include/Head.PHP”

我不知道如何告诉PHP在顶层目录中查找public_html。我原本以为这就是“.”的目的,但它似乎表现得很坚强。有人能解释一下吗

以下是我正在使用的:

<?php include("../public_html/Include/Head.php") ?>


另外,include是一个文件夹,我将用户通常不需要查看的所有文件放在其中,主要是为了让它们不碍事,并使我的主文件夹不那么凌乱。

定义一些全局常量:
Define('TOP_DIR','/www/')
然后在所有include中使用它:

include(TOP_DIR.public_html/include/Head.php)


define()
放在一些容易到达的位置,并将其包含在您需要的任何页面上。如果您使用一个始终只有一个入口点(如CodeIgniter)的框架,那么这些东西就会变得简单得多。然后,您可以在入口点文件中包含一个常量和设置文件,您知道这些内容将始终可用。

定义一些全局常量:
Define('TOP_DIR','/www/')
然后在所有包含中使用它:

include(TOP_DIR.public_html/include/Head.php)


define()
放在一些容易到达的位置,并将其包含在您需要的任何页面上。如果您使用一个始终只有一个入口点(如CodeIgniter)的框架,那么这些东西就会变得简单得多。然后,您可以在入口点文件中包含一个包含常量和设置的文件,您知道这些内容将始终可用。

PHP的文件导入有点奇怪,如果您想相对于所需文件导入,请使用以下方法:

<?php include(dirname(__FILE__) . "../Include/Head.php") ?>


原因是,如果您在
(顶级目录)/public_html/myfile.php
中有一个包含此文件的文件,则相对包含将相对于
myfile.php
,而不是包含的文件。

php的文件导入有点奇怪,如果您想相对于所需文件导入,请使用此选项:

<?php include(dirname(__FILE__) . "../Include/Head.php") ?>


原因是如果您在
(Top directory)/public\u html/myfile.php
中有一个包含此文件的文件,相对include将相对于
myfile.php
,而不是包含的文件。

您可以使用文档根进行预处理,这样您就有了一个一致的起点,并且不必担心在特定情况下进行遍历,例如

include($_SERVER['DOCUMENT_ROOT'].'/Include/Head.php')
或者,对于应用程序范围的解决方案,您可以简单地将
Include
添加到包含路径:

set_include_path(get_include_path() . PATH_SEPARATOR . $_SERVER['DOCUMENT_ROOT'].'/Include');

您可以使用doc root预先结束,这样您就有了一个一致的起点,而不必担心在特定情况下的遍历,例如

include($_SERVER['DOCUMENT_ROOT'].'/Include/Head.php')
或者,对于应用程序范围的解决方案,您可以简单地将
Include
添加到包含路径:

set_include_path(get_include_path() . PATH_SEPARATOR . $_SERVER['DOCUMENT_ROOT'].'/Include');

有几件事会影响你的目标

第一,绝对路径和相对路径。每当您在路径中看到目录导航快捷方式时,您都在使用相对路径<代码>。
表示向上移动目录或父目录

第二,生根或生根的概念可能适用。根据您的系统,最顶层的目录
/
(或
\
)可能在您提供文件的位置,也可能不在您提供文件的位置。例如,可以将特定网站的最顶层文件夹设置为文件系统中的特定文件夹(使用Apache)。这被认为是将网站“根”到该文件夹。任何用户或浏览器都无法“查看”其父文件夹中的文件

然而,PHP的根目录通常与web站点的根目录不同

如果您的PHP文件位于多个级别的文件夹中,但您需要它们都包含来自同一位置的文件,那么您可能需要使用绝对路径


具体的路径应该是什么完全取决于系统。

有几件事会影响你要完成的任务

第一,绝对路径和相对路径。每当您在路径中看到目录导航快捷方式时,您都在使用相对路径<代码>。
表示向上移动目录或父目录

第二,生根或生根的概念可能适用。根据您的系统,最顶层的目录
/
(或
\
)可能在您提供文件的位置,也可能不在您提供文件的位置。例如,可以将特定网站的最顶层文件夹设置为文件系统中的特定文件夹(使用Apache)。这被认为是将网站“根”到该文件夹。任何用户或浏览器都无法“查看”其父文件夹中的文件

然而,PHP的根目录通常与web站点的根目录不同

如果您的PHP文件位于多个级别的文件夹中,但您需要它们都包含来自同一位置的文件,那么您可能需要使用绝对路径


路径的具体内容完全取决于系统。

只需在目录树中向上移动一级即可。对于您的示例,如果您在
/x/y/z
,则include将查找
/x/y/include/Header.php
,您可以在链接中多次使用
?例如
。/../Include
?是的,但在某个时候,您将到达文件系统的顶部,然后任何额外的
。/
将被忽略。
只是在目录树中向上移动一级。对于您的示例,如果您在
/x/y/z
,则include将查找
/x/y/include/Header.php
,您可以在链接中多次使用
?例如
。/../Include
?是的,但在某个时候您会到达文件的顶部