如何格式化 PHP 包含() 绝对(而不是相对)路径?

2022-08-30 18:13:56

在我的PHP网站的各个页面和各种嵌套目录中,我想在相对于根的路径上包含一个特定的文件。

我可以在这两个页面上放置什么命令...

http://www.example.com/pageone.php
http://www.example.com/somedirectory/pagetwo.php

...以包括此页面:

http://www.example.com/includes/analytics.php

这不起作用:

<?php include('/includes/analytics.php'); ?>

这是否托管在 Windows 上的 IIS 中?


答案 1

你可以只使用include $_SERVER['DOCUMENT_ROOT'] . "/includes/analytics.php";


答案 2

从PHP的角度来看,根是Web服务器上文件系统的顶部,而不是从Web浏览器的角度来看的根。

大多数人做以下一项。

在全局配置文件中定义一个常量,并在每次调用中使用它来要求/包含。

或者他们使用这样的代码。

require_once realpath(dirname(__FILE__).'/config.php');
require_once realpath(dirname(__FILE__).'/lib/Database.php');

在某些情况下,使用环境变量可能是危险的,并且是安全问题的根源。


推荐