我在网站中有一个私有部分,其文件夹结构如此
"Hello ld!"
"Hello World!"
然后是一些子文件夹,例如
www.site.com/privatePath/secretFolder/login.php
在login.php旁边有一个共享的functions.php
www.site.com/privatePath/secretFolder/grandmasRecipes/applePie.php
(创建$ connection,mysql blah blah)
我有各种子文件夹和文件,我希望连接到functions.php,其中一些是动态创建的,因此解决方案应该可以在任何文件/文件夹位置工作。
只是为了澄清:
因为可以在不同的文件夹中调用相同的文件,我希望它调用的函数不是文件所在的functions.php文件,而是与根文件夹相关。所以没有亲戚../ etc reference
我的问题: 如何从我的网站中的任何文件访问所需的php文件?
答案 0 :(得分:4)
我的建议从不依赖于任何外部路径配置(例如DOCUMENT_ROOT
)。而是使用相对于当前脚本的路径......
来自login.php
require_once __DIR__ . '/functions.php';
来自grandmasRecipes/applePie.php
require_once __DIR__ . '/../functions.php';
请参阅http://php.net/manual/language.constants.predefined.php#constant.dir
另一种方法是为当前环境设置include_path
。您可以在文档根目录中的.user.ini
文件中执行此操作
; /home/cpanelLogIn/public_html/.user.ini
include_path="/home/cpanelLogIn/public_html/:."
然后你可以简单地使用
require_once 'privatePath/secretFolder/functions.php';
的任何地方
答案 1 :(得分:0)
替代解决方案:
require ( $_SERVER['DOCUMENT_ROOT'] . "/privatePath/secretFolder/functions.php");
将从站点中的任何页面访问functions.php文件。