PHP获取当前相对于域名目录的方法


Posted in PHP onJune 26, 2015

本文实例讲述了PHP获取当前相对于域名目录的方法。分享给大家供大家参考。具体如下:

http://127.0.0.1/dev/classd/index.php/download
比如这个地址,我想得到红色区域的地址用于生成站内的链接,名为 baseurl。

用 $_SERVER['SCRIPT_NAME'] 就可以了, $_SERVER['SCRIPT_NAME'] 是当前正在访问的PHP文件的相对路径,只要如下稍作处理:

从$_SERVER['SCRIPT_NAME']中获取目录部分,并且替换dirname函数可能出现的反斜杠问题  

$baseUrl = str_replace('\\','/',dirname($_SERVER['SCRIPT_NAME']));

保证为空时能返回可以使用的正常值 

$baseUrl = empty($baseUrl) ? '/' : '/'.trim($baseUrl,'/').'/';

这样就可以正常获取到 /dev/classd/ 这部分的目录地址了。

顺便看了一下 Zend Framework 的 baseUrl() 函数,结果一看那么一大堆代码就没再继续看了,我就想不通同样的功能他用了一大堆一大堆的代码,从$_SERVER里获取了一堆,然后中间经过两三个类,四五个方法才最终被我们直接调用,除了中间有三行是获取当前的PHP文件以外,其它都是没用和无谓的处理,ZF本身运行的已经够慢的了,这是什么一个意思呢。感兴趣的朋友可以研究一下。

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
php基础知识:控制结构
Dec 13 PHP
php discuz 主题表和回帖表的设计
Mar 13 PHP
PHP教程 变量定义
Oct 23 PHP
让的PHP代码飞起来的40条小技巧(提升php效率)
Apr 12 PHP
深入PHP magic quotes的详解
Jun 17 PHP
关于PHP内存溢出问题的解决方法
Jun 25 PHP
ThinkPHP实现ajax仿官网搜索功能实例
Dec 02 PHP
php常用图片处理类
Mar 16 PHP
PDO操作MySQL的基础教程(推荐)
Aug 18 PHP
深入理解PHP的远程多会话调试
Sep 21 PHP
php如何计算两坐标点之间的距离
Dec 29 PHP
Laravel中Kafka的使用详解
Mar 24 PHP
php通过获取头信息判断图片类型的方法
Jun 26 #PHP
以文件形式缓存php变量的方法
Jun 26 #PHP
PHP批量去除BOM头代码分享
Jun 26 #PHP
PHP多态代码实例
Jun 26 #PHP
PHP微信开发之二维码生成类
Jun 26 #PHP
Thinkphp关闭缓存的方法
Jun 26 #PHP
php获取、检查类名、函数名、方法名的函数方法
Jun 25 #PHP
You might like
PHP实现用户认证及管理完全源码
2007/03/11 PHP
PDO::getAttribute讲解
2019/01/28 PHP
jQuery 性能优化指南(3)
2009/05/21 Javascript
利用onresize使得div可以随着屏幕大小而自适应的代码
2010/01/15 Javascript
Javascript对象中关于setTimeout和setInterval的this介绍
2012/07/21 Javascript
JavaScript自定义事件介绍
2013/08/29 Javascript
细说javascript函数从函数的构成开始
2013/08/29 Javascript
js实现精确到秒的倒计时效果
2016/05/29 Javascript
AngularJS ng-repeat数组有重复值的解决方法
2016/10/23 Javascript
javascript中href和replace的比较(详解)
2016/11/25 Javascript
原生js实现无缝轮播图效果
2017/01/11 Javascript
Bootstrap 下拉多选框插件Bootstrap Multiselect
2017/01/22 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
老生常谈javascript中逻辑运算符&&和||的返回值问题
2017/04/13 Javascript
详解webpack的配置文件entry与output
2017/08/21 Javascript
浅谈vue的踩坑路
2017/08/31 Javascript
js实现Tab选项卡切换效果
2020/07/17 Javascript
vue二级菜单导航点击选中事件的方法
2018/09/12 Javascript
在vue中v-bind使用三目运算符绑定class的实例
2018/09/29 Javascript
JS二级菜单不同实现方法分析【4种方法】
2018/12/21 Javascript
理解JavaScript中的Proxy 与 Reflection API
2020/09/21 Javascript
微信小程序实现星星评分效果
2020/11/01 Javascript
使用wxpython实现的一个简单图片浏览器实例
2014/07/10 Python
python实现井字棋游戏
2020/03/30 Python
浅谈Python中range和xrange的区别
2017/12/20 Python
python+jinja2实现接口数据批量生成工具
2019/08/28 Python
使用python实现哈希表、字典、集合操作
2019/12/22 Python
flask框架渲染Jinja模板与传入模板变量操作详解
2020/01/25 Python
纯HTML5+CSS3制作图片旋转
2016/01/12 HTML / CSS
Sunglasses Shop荷兰站:英国最大的太阳镜独立在线零售商和供应商
2017/01/08 全球购物
美丽的现代设计家具:2Modern
2018/07/26 全球购物
美国专业汽车音响和移动电子产品零售商:Car Toys
2019/05/13 全球购物
Linux操作面试题
2015/02/11 面试题
营销总经理的岗位职责
2013/12/15 职场文书
大队委员竞选演讲稿
2015/11/20 职场文书
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS