php - 使用 $_SERVER ['document_root' ] 有什么意义?

标签 php server

有什么优势?如果我对项目的文件结构了如指掌,为什么我不能只使用相对 URL?例如,如果我们想要在 Trial 文件夹中创建一个文件,并且该文件名为 test.php,这样做有什么好处

require $_SERVER['document_root'] . "/trial/test.php";

什么时候我们可以做

require "test.php"; //assuming we are in the trial folder

谢谢!

最佳答案

$_SERVER['DOCUMENT_ROOT'] 非常有用,尤其是在您的开发环境中工作时。如果您正在处理大型项目,您可能会在页面中包含大量文件。例如:

<?php 
//Defines constants to use for "include" URLS - helps keep our paths clean 

        define("REGISTRY_CLASSES",  $_SERVER['DOCUMENT_ROOT']."/SOAP/classes/"); 
        define("REGISTRY_CONTROLS", $_SERVER['DOCUMENT_ROOT']."/SOAP/controls/"); 

        define("STRING_BUILDER",     REGISTRY_CLASSES. "stringbuilder.php"); 
        define("SESSION_MANAGER",     REGISTRY_CLASSES. "sessionmanager.php"); 
        define("STANDARD_CONTROLS",    REGISTRY_CONTROLS."standardcontrols.php"); 
?>

在开发环境中,您很少使用根文件夹,特别是如果您在本地运行 PHP,并且使用 DOCUMENT_ROOT 是保持 URL 一致性的好方法。这将节省您准备应用程序以将其从您的设备部署到生产服务器的时间(更不用说让您免去包含路径失败的麻烦)。

然而,这是个人选择,许多框架使用dirname(__FILE__)来根据已知文件(通常是index.php)计算出应用程序路径

关于php - 使用 $_SERVER ['document_root' ] 有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32324685/

相关文章:

sockets - UDP 套接字未从 Go 中的服务器读取

node.js - 同一服务器上且具有相同 cookie 加密 key 的两个 NodeJs 应用程序可以共享 cookie 吗?

linux - 我可以与Mandriva Entreprise Server 5.2一起使用的urpmi来源是什么?

php - 运行相同查询时 MySQLi 结果集变化

php - 在“附近触发Mysql错误

php - 如何在可导航模式中显示图像?

javascript - mysql查询进度条与php和bootstrap

C# - Websocket - 将消息发送回客户端

php - 错误 :error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

php - 插入新记录时将一个表中的 ID 插入到另一个表中