2013-04-29 105 views
0

有没有办法在PHP中覆盖include函数(include,include_once,require,require_once等)?我希望能够在脚本中包含文件之前做一些代码。我正在开发一个允许安装插件的系统,但我不希望插件打开一个或多个核心文件并查看其内容。所以我希望能够使用include函数(尤其是file_get_contents())来阻止这些文件,但我显然不能简单地禁用这些函数。在PHP中重写包含函数?

我曾经想过,只是改变了所有者/权限对这些文件,但Apache需要读/执行权限,这些所谓自动,我们可以使用的file_get_contents得到他们的内容();

有没有一种方法可以做到这一点?或者我正在看这个错误的方式?

非常感谢。

+0

我觉得你很尴尬。你将不得不相信你的插件开发人员。 – mpen 2013-04-29 15:28:02

回答

1

如果值得花费处理能力,您可以使用fopenfile_get_contents作为文本读取PHP文件并搜索禁用函数,然后根据结果包含或忽略它们。

+0

这是一个好主意。处理能力是不是真的在考虑到该系统将在多台服务器架构(开发/测试/生产)的担忧。我想我会建立这样说:有开发服务器批准该插件,然后将它们推到测试和生产线的服务器。 谢谢! – 2013-04-29 15:55:19