[英]Including a file in multiple directories - PHP
我试图按顺序获取我的include()函数,但是每次在一个目录中切换语法时,它都会弄乱其子目录,反之亦然。
我的“ localhost / FTS / includes / header.php”文件夹中有一个名为“ header.php”的文件。 “ FTS”文件夹具有我的index.php文件,因此从技术上讲,它是我测试时的根文件夹。
在文件“ localhost / FTS / admin.php”中,我使用include 'includes/header.php';
它可以正常工作,但是当我进入文件“ localhost / FTS / admin / members.php”时,找不到包含文件。 同样在我的“ header.php”文件中,我在根目录中还包含了另外两个文件。
我只希望所有包含项都可以在每个目录中工作。 有任何想法吗?
include
语句包含与执行include
的脚本相关的文件,这就是为什么您看到此问题的原因。 您有几种选择可用:
$_SERVER['DOCUMENT_ROOT']
加上$_SERVER['DOCUMENT_ROOT']
,如果您使用的是Apache,它将引用您的文档根目录。 所以类似include( $_SERVER['DOCUMENT_ROOT'] . "/includes/header.php" );
将在脚本中显示为绝对路径,因此,如果从结构中的各个位置调用它,它将可以正常工作,但仍可移植(请注意,它需要从Web服务器调用,如果您正在使用,则无法使用)您的脚本(通过CLI)。 include( "includes/header.php" );
如果您要包含的文件位于您当前所在目录的includes
目录中,或include( "../includes/header.php" );
如果includes
目录位于正在运行的脚本的父目录中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.