目前在我的网站上我使用的语句如下:
include 'head.php';
include '../head.php';
include '../../head.php';
取决于我有多少嵌套文件夹。我确信有更好的方法可以做到这一点。
我确信.htaccess
是解决方案,但我不确定如何实施它。如果我插入:
php_value include_path "public/html/root"
...我失去了其余的路径(/usr/lib/php
等)。我天真地尝试过:
php_value include_path $include_path . "(path)"
但当然这不起作用。如何使用.htaccess
前缀或附加单个路径到此列表?
答案 0 :(得分:28)
在子子目录中创建一个文件.htaccess
,其内容为
php_value include_path '../../includes'
或任何include_path
适合该目录。
优点:
include 'head.php'
。php.ini
。set_include_path()
。include INCLUDE_PATH . 'head.php'
等常量。支付价格:
您使用文件.htaccess
丢弃子子目录。
答案 1 :(得分:23)
如果您无法编辑php.ini
文件本身,则可以添加
set_include_path(get_include_path() . PATH_SEPARATOR . $path_to_add);
在您的include
陈述之前。
但是,如果您发现自己遇到include
或require
问题,则可能是代码异味。最好的解决方案是良好的面向对象设计,具有良好的__autoload
功能。