加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 在一个地方定义一次根路径

发布时间:2020-12-13 17:08:18 所属栏目:PHP教程 来源:网络整理
导读:我喜欢使用它们的绝对路径来引用图像,css和php文件,它是从root开始的,地址以“/”开头. 我需要包含所有位于“/ bin / res / include”的php文件.我发现我不能像在html中那样在php中使用绝对路径.经过一些研究,我发现最适合我需要的方法是 define("PHP_ROOT",
我喜欢使用它们的绝对路径来引用图像,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 <fullpath>/<path-to-folder-with-php-files-to-include>/init.php
php_value auto_prepend_file /home/a7503679/public_html/bin/res/include/init.php

现在我所有的html文件都会包含那个init.php文件,所以你应该(就像我一样)把你需要的所有常见的PHP代码放在每个html页面上,在我的例子中是:

<?php
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’;

解决方法

您可以在.htaccess中使用 auto_prepend_file

PS:$_SERVER [‘DOCUMENT_ROOT’]应该可以使用(在共享主机上)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读