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