如何附加到.htaccess中PHP的include_path的路径
-
16-09-2019 - |
题
目前在我的网站上,我正在使用以下语句:
include 'head.php';
include '../head.php';
include '../../head.php';
取决于我深入多少嵌套文件夹。我敢肯定,有一种更好的方法可以做到这一点。
我相信 .htaccess
是解决方案,但我不确定如何实施它。如果我插入:
php_value include_path "public/html/root"
...我失去了其余的道路(/usr/lib/php
, , ETC)。我天真地尝试了:
php_value include_path $include_path . "(path)"
但是,这当然不起作用。我该如何使用或附加到此列表的单一路径 .htaccess
?
解决方案
如果您不能编辑 php.ini
文件本身,您可以添加
set_include_path(get_include_path() . PATH_SEPARATOR . $path_to_add);
在你之前 include
语句。
但是,如果您发现自己有 include
或者 require
麻烦,这可能是代码气味。最好的解决方案是一个良好的面向对象的设计, __autoload
功能。
其他提示
在sub-sub-directories中创建文件 .htaccess
与内容
php_value include_path '../../includes'
管他呢 include_path
适合该目录。
优点:
- 没有具有不同深度的丑陋骇客。只是
include 'head.php'
. - 不依赖编辑
php.ini
. - 无需使用
set_include_path()
包括之前。 - 不依赖于包括常数
include INCLUDE_PATH . 'head.php'
.
支付价格:
您可以乱扔子式目录,每个导演 .htaccess
.
不隶属于 StackOverflow