PHP获取站点根目录

  1 将下面的代码放在网站根目录下的一个文件中,以便在其它文件中引用。
  2
  3 路径方式:
  4
  5 define(‘BASE_PATH‘,str_replace(‘\\‘,‘/‘,realpath(dirname(__FILE__).‘/‘))."/");
  6
  7 echo BASE_PATH;
  8
  9
 10
 11 输出结果:E:/wwwroot/
 12
 13 url方式:
 14
 15
 16
 17 $PHP_SELF=$_SERVER[‘PHP_SELF‘];
 18
 19 $url=‘http://‘.$_SERVER[‘HTTP_HOST‘].substr($PHP_SELF,0,strrpos($PHP_SELF,‘/‘)+1);
 20
 21 echo $url;
 22
 23
 24
 25 输出结果:http://localhost/
 26 其它的资料整理:
 27 PHP取得站点根目录
 28
 29
 30
 31 echo $_SERVER[‘HTTP_HOST‘];//当前请求的 Host: 头部的内容 即域名信信息
 32
 33 echo $_SERVER[‘PHP_SELF‘];//当前正在执行脚本的文件相对网站根目录地址,就算该文件被其他文件引用也可以正确得到地址
 34
 35
 36
 37 echo $_SERVER[‘SCRIPT_NAME‘];//当前正在执行脚本的文件相对网站根目录地址,但当该文件被其他文件引用时,只显示引用文件的相对地址,不显示该被引用脚本的相对地址。
 38
 39
 40
 41 echo $_SERVER[‘DOCUMENT_ROOT‘];//网站相对服务器地址即网站的绝对路径名 #当前运行脚本所在的文档根目录。在服务器配置文件中定义
 42
 43
 44
 45 echo $_SERVER[‘SCRIPT_FILENAME‘];//当前执行脚本的绝对路径名。
 46
 47
 48
 49 方法一:
 50
 51
 52
 53 今天讲了大致的站点目录结构,其中说到了怎样取得站点根目录,好多同学不是很理解,下面一步一步道来:
 54
 55
 56
 57 我的站点目录据对路径:D:\www\message2011,测试文件路径:D:\www\message2011\include\config.inc.php
 58
 59
 60
 61 在根目录下新建一个文件,也可以隔一层目录创建,就以上面为例,我要在config.inc.php中取得站点的根目录。
 62
 63
 64
 65 1、取得当前文件的路径:用魔术常量__FILE__。这里的路径包含了文件名,结果如下:
 66
 67
 68
 69 D:\www\message2011\include\config.inc.php
 70
 71
 72
 73 2、去掉上面路径的文件名,得到纯路径:dirname(__FILE__),结果如下:
 74
 75
 76
 77 D:\www\message2011\include
 78
 79
 80
 81 3、返回一层目录到根目录:realpath(dirname(__FILE__).‘/../‘),结果如下:
 82
 83
 84
 85 D:\www\message2011
 86
 87
 88
 89 4、把向左的”\“转化成向右的”/“:str_replace( ‘\\‘ , ‘/‘ , realpath(dirname(__FILE__).‘/../‘)),结果如下:
 90
 91
 92
 93 D:/www/message2011
 94
 95
 96
 97 到这就是我们想要的站点根目录了,可以根据需求设定第三步返回目录层数,比如:返回2层就是 /../../,那么就会得到 D:\www\,以此类推。
 98
 99
100
101 方法二:
102
103
104
105 在global.inc   里定义根目录
106
107
108
109 define("APP_ROOT",dirname(__FILE__));
110
111
112
113 在任何PHP文件中可以引用该常量
114
115
116
117 require_once(APP_ROOT."/inc/head.php");
118
119
120
121
122
123 方法三:
124
125
126
127 <?php
128
129
130
131 $PHP_SELF=$_SERVER[‘PHP_SELF‘] ? $_SERVER[‘PHP_SELF‘] : $_SERVER[‘SCRIPT_NAME‘];
132
133
134
135 $url=‘http://‘.$_SERVER[‘HTTP_HOST‘].substr($PHP_SELF,0,strrpos($PHP_SELF, ‘/‘)+1);
136
137
138
139 echo $url;
140
141
142
143 方法四:
144
145
146
147 $basepath=$_SERVER[‘PHP_SELF‘];
148
149
150
151 $basepath=substr($basepath,0,strpos($basepath,"文件夹名称"));
152
153
154
155 echo $basepath;
156
157
158
159 如:你把文件保存为a.php并路径为:/wjj/wjj1/wjj2/a.php
160
161
162
163 上面的例子就写成:
164
165
166
167 $basepath=$_SERVER[‘PHP_SELF‘];
168
169
170
171 $basepath=substr($basepath,0,strpos($basepath,"wjj1"));
172
173
174
175 echo $basepath;
176
177
178
179 方法五:
180
181
182
183 $basepath=$_SERVER[‘PHP_SELF‘];
184
185
186
187 preg_match("/(\/)?([^\/]+)/",$basepath,$wjm);
188
189
190
191 echo $wjm[0];
192
193
194
195 注意,第二种方法我不太会,如文件路径为:/wjj/wjj1/wjj2/a.php,它只返回 /wjj 后面的/自己加!
196
197
198
199 ?>
时间: 2024-10-05 18:09:02

PHP获取站点根目录的相关文章

asp.net获取站点根目录下子目录的名称

使用Visual Studio建立一个.aspx文件(Web Forms),例如hovertree.aspx,在页面上加入一个ListBox代码如下: <asp:ListBox runat="server" ID="lbKeleyiFolder" /> 那么在页面上显示根目录子文件夹的代码如下: string[] m_subKeleyiFolder = Directory.GetDirectories(Server.MapPath("/hvti

PHP中如何获取网站根目录物理路径

在php程序开发中经常需要获取当前网站的目录,我们可以通过常量定义获取站点根目录物理路径,方便在程序中使用. 下面介绍几种常用的获取网站根目录的方法. php获取网站根目录方法一: <?php define("WWWROOT",str_ireplace(str_replace("/","\\",$_SERVER['PHP_SELF']),'',__FILE__)."\\"); echo WWWROOT ; ?> p

php获取网站根目录

php获取网站根目录方法一:<?phpdefine("WWWROOT",str_ireplace(str_replace("/","\\",$_SERVER['PHP_SELF']),'',__FILE__)."\\");echo WWWROOT ;?> php获取网站根目录方法二: <?phpdefine('WWW_PATH',str_replace('\\','/',realpath(dirname(__

js获取网站根目录

<script type="text/javascript"> function getRootPath() { var strFullPath = window.document.location.href; var strPath = window.document.location.pathname; var pos = strFullPath.indexOf(strPath); var prePath = strFullPath.substring(0, pos);

wampsever自定义站点根目录,多站点配置,自定义端口号

1.自定义站点根目录 点击apache 搜索DocumentRoot,更改目录 以及<Directory  "f:/www">处的目录 点击www 返回上一级文件 打开wampmanager.ini文件,搜索menu.left,找到“www目录”,改名为Demo(其他名字也可以),并修改路径. 打开wampsever.tpl文件,搜索menu.left,找到“w_wwwDirectory”,改名为“Demo目录”,并修改路径(如F:/Demo),保存并重启服务. 2.多站点

如何在servlet刚启动时候获取服务器根目录?

public class InitServlet extends HttpServlet{ public static String root; @Override public void init() throws ServletException { root = getServletContext().getRealPath("/"); } 如何在servlet刚启动时候获取服务器根目录?,布布扣,bubuko.com

JSP里的c:url中的/代表站点根目录还是WEB根目录?

<c:url/>使用格式: <c:url var="<string>" scope="<string>" value="<string>" context="<string>"/> 例如: <c:url var="editUrl" value="/edit.do"> <c:param name=&q

.net 获取网站根目录总结

一.获取网站根目录的方法有几种如: Server.MapPath(Request.ServerVariables["PATH_INFO"]) //页面详细路 Server.MapPath("/") //根目录 Server.MapPath("") //当前代码文件所在的目录路径 Server.MapPath(".") Server.MapPath("../") //当前代码所在路径的上级路径 Server.

.net 获取网站根目录的方法

获取网站根目录的方法有几种如: Server.MapPath(Request.ServerVariables["PATH_INFO"]) Server.MapPath("/") Server.MapPath("")//当前代码文件所在的目录路劲 Server.MapPath(".") Server.MapPath("../") Server.MapPath("..") 以上的代码在htt