我喜欢使用它们的绝对路径来引用图像,css和php文件,它是从root开始的,地址以“/”开头.
我需要包含所有位于“/ bin / res / include”的php文件.我发现我不能像在html中那样在php中使用绝对路径.经过一些研究,我发现最适合我需要的方法是
define("PHP_ROOT", "/home/a7503679/public_html/bin/res/include/");
然后包含一些文件
include_once(PHP_ROOT."filename.php");
我不想在每个html页面上粘贴第一个定义.我可以进行全局定义吗?我可以在一个地方定义一次该常量并让所有html页面都知道吗?如果是这样,全球的地方如何以及在哪里?
>我不能使用dirname(__ FILE__);因为它只提供了我当前所在文件夹的完整路径,可能不是根目录.
>我无法使用$_SERVER [‘DOCUMENT_NAME’],因为我正在使用共享托管服务.
[更新:解决方案]大家,尤其是RiaD的想法,这就是我所做的:
在我的网站根目录编辑了我的.htaccess文件并添加了以下行,
#Loads an init php located at //init.php
php_value auto_prepend_file /home/a7503679/public_html/bin/res/include/init.php
现在我所有的html文件都会包含那个init.php文件,所以你应该(就像我一样)把你需要的所有常见的PHP代码放在每个html页面上,在我的例子中是:
define("PHP_ROOT", "/home/a7503679/public_html/bin/res/include/"); #this solves the problem
include 'lang.php'; #translations file
?>
在我需要在每个页面上包含lang.php之前,现在它已经自动完成了.如果我需要包含任何其他php文件,使用其绝对路径,我只需键入include PHP_ROOT.’filename.php’;