我差不多9年前为我的网站编写了PHP代码。我有一个名为common.php
的配置文件。我网站中的每个页面都需要此页面来访问网站的常量,类和变量。
我在本地计算机上开发,然后将文件上传到实际站点。我在网页上用来调用common.php
的代码是:
$main = ($_SERVER['HTTP_HOST'] == 'localhost')? "E:\-=Web=-\-=Sites=-\mysite\main\common.php" :"/home/mysite/public_html/main/common.php";
require_once($main);
这很好用,从来没有给我任何问题。
但是,我想我可以改用:
require_once($_SERVER["DOCUMENT_ROOT"]."/main/common.php")
这会使我的代码更紧凑,这也意味着我不必总是在E://
所以我的问题是,使用$_SERVER["DOCUMENT_ROOT"]
是不错的做法?
如果希望在每个页面上调用配置文件,大多数开发人员会这样做吗?
答案 0 :(得分:1)
最常见和最可靠的方法是定义一个常量,该常量包含index.php文件中的代码路径,或者包含在同一目录或已知相对路径和引用中的config.php文件。 :
if (!defined('APP_DIR')) define('APP_DIR', __DIR__); // set the app directory to that of the currently executing file
您的其他文件的需求行将成为此
require_once(APP_DIR . '/main/common.php');
现在,您可以保证此常量将包含您期望的内容。假设你做对了,那就是。 ;)