我将所有脚本存储在服务器上的相同位置,然后使用PHP include语句进行引用。但是,如果我想要或需要更改该目录怎么办?我真的想改变每一个陈述吗?绝对不是。
我辩论的一件事是包含一个名为'scriptsdir.php'的文件,该文件将位于主目录中以便于访问。所有这个文件负责的做法是将常量'SCRIPTS_DIR'定义为该目录。这个就足够了,但是如果必须移动那个文件或发生某些事情等等,我想知道我是否可以定义一个可以访问的常量而无需手动定义它。
有没有办法在php.ini或.htaccess或任何中执行此操作?
答案 0 :(得分:2)
您可以使用magic constant ...
执行此类操作define('DOCROOT', dirname(__FILE__));
如果使用> = PHP 5.3,您只需使用__DIR__
。
然后你将使用...
包含你的文件include DOCROOT . '/bootstrap.php';
答案 1 :(得分:2)
另一个选择是使用以下内容通过$_SERVER["SCRIPTS_DIR"]
声明变量 .htaccess
:
SetEnv SCRIPTS_DIR /var/www/project123/includes/
对于document_root下面的所有脚本都可以可靠地使用它,并且通常可以简化重定位。
答案 2 :(得分:1)
如果您要求它在所有 PHP应用程序的系统范围内,那么您可以将auto_prepend_file
与您定义的文件一起使用。