日期:2014-05-17  浏览次数:20474 次

PHP获取网站根目录有几种方法?
举个例子:

<根目录>
  ├<站点1>
  │ ├<admin>
  │ │ └category.php
  │ │index.php
  │ └config.php
  └<站点2>

如果category.php要引用config.php的内容,那用相对路径的写法就是'../config.php',可用绝对路径的话该怎么写呢?
原本我以为和HTML的写法一样,可以写成'/站点1/config.php',用'/'来代表根目录;可是测试的时候却出错了。请问在PHP里面,怎么样写才能得到http://根目录/站点1/config.php这样的形式?
 

------解决方案--------------------
[
code=PHP]

"http://".$_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF']

[/code]

PHP code


"http://".$_SERVER ['HTTP_HOST'].“/config.php”

------解决方案--------------------
在根目录写一个config文件,把所有要用到的全局变量缓存.在文件头导入
以后就可以直接用了,请参考一下大型的网站.
------解决方案--------------------
$_SERVER["ROOT_DOCUMENT"]

好像是这个把
------解决方案--------------------
参考一下discuz吧,它也是可以在根目录下的某一目录的
------解决方案--------------------
$_SERVER['DOCUMENT_ROOT']

如果设置了virtualHost 则根目录为virtualHost 设定的根目录。
否则为apache 制定的document root 的根目录
------解决方案--------------------
$_SERVER['DOCUMENT_ROOT'] 就是网站的根

在网站的任意子目录下访问网站根下的文件都可以这样写:
require_once $_SERVER['DOCUMENT_ROOT'] . '/config.php';

如果你有权限编辑 php.ini 文件则可以指定 auto_prepend_file
如 auto_prepend_file = "lib/TObject.php"
每当php被执行的时候,程序 lib/TObject.php 都将被执行,从而达到不需要在每个php程序中书写嵌入文件的代码的目的,也免去了路径的烦恼

------解决方案--------------------
绝对路径和相对路径。呵呵。