如果有这样的事情存在,我会很遗憾,但是我找不到任何与Google-fu有关的内容。
我在我网站的每个页面上都使用require_once()
包含一个PHP文件。该文件是一个轻量级的定制框架。
我想知道是否可以删除整个require_once()
行,并使用另一种模糊机制,将库包含在指定文件夹中每个文件的开头。
这背后的原因是该特定文件夹中的文件将被编码知识有限的人修改,我不希望他们搞砸了认为它们不重要的PHP行。
编辑:该库将最终分发,旨在处理典型的PHP安装程序。
谢谢!
答案 0 :(得分:3)
我觉得另一种比auto_prepend_file
更不明显的技术是首先将对该文件夹的所有请求重定向到一个文件,然后加载库,然后加载你将拥有这些文件的文件其他用户修改。
以下是我使用重写代码解析此类内容的方法......
如果htaccess文件与文件夹位于同一目录中,我认为重写规则将如下所示:
RewriteRule ^(.*)$ index.php/$1 [L]
在index.php文件中,我通常为网站加载某种配置,然后委托。 我在这里使用这个函数来获取当前的URL ...我不完全确定它是否有点过分,但它在几个平台上对我来说一直都是有效的。
function get_current_url() {
$pageUrl = 'http';
if (@$_SERVER["HTTPS"] == "on") {$pageUrl .= "s";}
$pageUrl .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageUrl .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageUrl .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageUrl;
}
然后你可以使用php的parse_url()
函数解析get_current_url()的结果并适当地委派。
答案 1 :(得分:2)