在网站建设过程中,很多同学都不清楚如何获取站点根目录,别急,优网科技小优给你支招:
将下面的代码放在网站根目录下的一个文件中,以便在其它文件中引用。
路径方式:
define('BASE_PATH',str_replace('\\','/',realpath(dirname(__FILE__).'/'))."/");
echo BASE_PATH;
输出结果:E:/wwwroot/
url方式:
$PHP_SELF=$_SERVER['PHP_SELF'];
$url='http://'.$_SERVER['HTTP_HOST'].substr($PHP_SELF,0,strrpos($PHP_SELF,'/')+1);
echo $url;
输出结果:http://localhost/uweb/
其它的资料整理:
PHP取得站点根目录
echo $_SERVER['HTTP_HOST'];//当前请求的 Host: 头部的内容 即域名信信息
echo $_SERVER['PHP_SELF'];//当前正在执行脚本的文件相对网站根目录地址,就算该文件被其他文件引用也可以正确得到地址
echo $_SERVER['SCRIPT_NAME'];//当前正在执行脚本的文件相对网站根目录地址,但当该文件被其他文件引用时,只显示引用文件的相对地址,不显示该被引用脚本的相对地址。
echo $_SERVER['DOCUMENT_ROOT'];//网站相对服务器地址即网站的路径名 #当前运行脚本所在的文档根目录。在服务器配置文件中定义
echo $_SERVER['SCRIPT_FILENAME'];//当前执行脚本的路径名。
方法一:
今天讲了大致的站点目录结构,其中说到了怎样取得站点根目录,好多同学不是很理解,下面一步一步道来:
我的站点目录据对路径:D:\www\uweb\message2011,测试文件路径:D:\www\uweb\message2011\include\config.inc.php
在根目录下新建一个文件,也可以隔一层目录创建,就以上面为例,我要在config.inc.php中取得站点的根目录。
1、取得当前文件的路径:用魔术常量__FILE__。这里的路径包含了文件名,结果如下:
D:\www\uweb\message2011\include\config.inc.php
2、去掉上面路径的文件名,得到纯路径:dirname(__FILE__),结果如下:
D:\www\uweb\message2011\include
3、返回一层目录到根目录:realpath(dirname(__FILE__).'/../'),结果如下:
D:\www\uweb\message2011
4、把向左的”\“转化成向右的”/“:str_replace( '\\' , '/' , realpath(dirname(__FILE__).'/../')),结果如下:
D:/www/message2011
到这就是我们想要的站点根目录了,可以根据需求设定第三步返回目录层数,比如:返回2层就是 /../../,那么就会得到 D:\www\uweb\,以此类推。
方法二:
在global.inc 里定义根目录
define("APP_ROOT",dirname(__FILE__));
在任何PHP文件中可以引用该常量
require_once(APP_ROOT."/inc/head.php");
方法三:
<?php
$PHP_SELF=$_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
$url='http://'.$_SERVER['HTTP_HOST'].substr($PHP_SELF,0,strrpos($PHP_SELF, '/')+1);
echo $url;
方法四:
$basepath=$_SERVER['PHP_SELF'];
$basepath=substr($basepath,0,strpos($basepath,"文件夹名称"));
echo $basepath;
如:你把文件保存为a.php并路径为:/wjj/wjj1/wjj2/a.php
上面的例子就写成:
$basepath=$_SERVER['PHP_SELF'];
$basepath=substr($basepath,0,strpos($basepath,"wjj1"));
echo $basepath;
方法五:
$basepath=$_SERVER['PHP_SELF'];
preg_match("/(\/)?([^\/]+)/",$basepath,$wjm);
echo $wjm[0];
注意,第二种方法我不太会,如文件路径为:/uweb/wjj/wjj1/wjj2/a.php,它只返回 /wjj 后面的/自己加!
?>
亚星管理平台菁思福科技秉承"专业团队、品质服务" 的经营理念,诚信务实的服务了近万家客户,成为众多世界500强、集团和上市公司的长期合作伙伴!
亚星管理平台菁思福科技成立于2001年,擅长网站建设、网站与各类业务系统深度整合,致力于提供完善的企业互联网解决方案。亚星管理平台菁思福科技提供PC端网站建设(品牌展示型、官方门户型、营销商务型、电子商务型、信息门户型、DIY体验、720全景展厅及3D虚拟仿真)、移动端应用(手机站、APP开发)、微信定制开发(微信亚星官网、微信商城、企业微信)、微信小程序定制开发等一系列互联网应用服务。
责任编辑:亚星管理平台菁思福科技
版权所有:https://www.uzncsrj.com (亚星管理平台菁思福科技) 转载请注明出处