如何定义“系统范围”常量,该常量是包含特定文件夹目录的字符串?

问题描述

| 我将所有脚本存储在服务器上的同一位置,然后使用PHP include语句进行引用。但是,如果我想要或需要更改该目录怎么办?我真的要更改每个语句吗?绝对不。 我辩论过的一件事是在主目录中包含一个名为\'scriptsdir.PHP \'的文件,以便于访问。该文件要做的全部工作就是将常量\'SCRIPTS_DIR \'定义为该目录。这样就足够了,但是如果该文件必须移动或发生了什么事情,等等。我想知道是否可以定义一个无需手动定义即可访问的常量。 有没有办法做到这一点在PHP.ini或.htaccess或任何东西?     

解决方法

        另一种选择是使用以下命令通过
.htaccess
声明变量
$_SERVER[\"SCRIPTS_DIR\"]
 SetEnv SCRIPTS_DIR /var/www/project123/includes/
那将可靠地提供给document_root下面的所有脚本,并且通常可以简化重定位。     ,        你可以用一个魔术常数做这样的事情...
define(\'DOCROOT\',dirname(__FILE__));
如果使用> = PHP 5.3,则只需使用
__DIR__
。 然后,您将使用...包括文件
include DOCROOT . \'/bootstrap.php\';
    ,        如果您要求它在所有PHP应用程序中都在系统范围内,则可以对定义它的文件使用
auto_prepend_file
。