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 Undefined index和Undefined variable的解决方法
Mar 27 PHP
php 全文搜索和替换的实现代码
Jul 29 PHP
php 购物车实例(申精)
May 11 PHP
PHP 高级课程笔记 面向对象
Jun 21 PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
Nov 02 PHP
30 个很棒的PHP开源CMS内容管理系统小结
Oct 14 PHP
浅析PHP中的字符串编码转换(自动识别原编码)
Jul 02 PHP
PHP读取RSS(Feed)简单实例
Jun 12 PHP
PHP return语句的另一个作用
Jul 30 PHP
PHP用反撇号执行外部命令
Apr 14 PHP
Laravel开启跨域请求的方法
Oct 13 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
Mar 26 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设计模式 DAO(数据访问对象模式)
2011/06/26 PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
2015/05/09 PHP
php json中文编码为null的解决办法
2016/12/14 PHP
php报错502badgateway解决方法
2019/10/11 PHP
Aster vs Newbee BO3 第三场2.18
2021/03/10 DOTA
编辑浪子版表单验证类
2007/05/12 Javascript
JavaScript 实现类的多种方法实例
2013/05/01 Javascript
extjs表格文本启用选择复制功能具体实现
2013/10/11 Javascript
用jquery写的一个万年历(自写)
2014/01/20 Javascript
js Dialog 去掉右上角的X关闭功能
2014/04/23 Javascript
JS实现的自定义网页拖动类
2015/11/06 Javascript
javascript 小数乘法结果错误的处理方法
2016/07/28 Javascript
用js读写cookie的简单方法(推荐)
2016/08/08 Javascript
前端面试题及答案整理(二)
2016/08/26 Javascript
JavaScript中const、var和let区别浅析
2016/10/11 Javascript
Javascript中关于Array.filter()的妙用详解
2016/12/04 Javascript
JS前端加密算法示例
2016/12/22 Javascript
bootstrap折叠调用collapse()后data-parent不生效的快速解决办法
2017/02/23 Javascript
vue2.0基于vue-cli+element-ui制作树形treeTable
2019/04/30 Javascript
JavaScript计算出两个数的差值
2020/03/19 Javascript
全网小程序接口请求封装实例代码
2020/11/06 Javascript
[02:04]2014DOTA2国际邀请赛 DK一个时代的落幕
2014/07/21 DOTA
Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
2014/06/04 Python
Python机器学习之决策树算法实例详解
2017/12/06 Python
Python3批量生成带logo的二维码方法
2019/06/24 Python
Python Django简单实现session登录注销过程详解
2019/08/06 Python
浅谈Tensorflow 动态双向RNN的输出问题
2020/01/20 Python
使用Keras建立模型并训练等一系列操作方式
2020/07/02 Python
AmazeUI图片轮播效果的示例代码
2020/08/20 HTML / CSS
美国百货齐全的精品网站,提供美式风格的产品:Overstock.com
2016/07/22 全球购物
上学迟到的检讨书
2014/01/11 职场文书
公司贷款承诺书
2014/05/30 职场文书
青年岗位能手事迹材料
2014/12/23 职场文书
2015年技术员工作总结
2015/04/10 职场文书
建筑技术负责人岗位职责
2015/04/13 职场文书
JavaScript+HTML实现学生信息管理系统
2021/04/20 Javascript