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的一个完整SMTP类(解决邮件服务器需要验证时的问题)
Oct 09 PHP
php xml文件操作实现代码(二)
Mar 20 PHP
在php中判断一个请求是ajax请求还是普通请求的方法
Jun 28 PHP
比file_get_contents稳定的curl_get_contents分享
Jan 11 PHP
php读取二进制流(C语言结构体struct数据文件)的深入解析
Jun 13 PHP
php foreach循环中使用引用的问题
Nov 06 PHP
php实现图片缩放功能类
Dec 18 PHP
输入值/表单提交参数过滤有效防止sql注入的方法
Dec 25 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
Sep 22 PHP
PHP实现的同步推荐操作API接口案例分析
Nov 30 PHP
PHP测试框架PHPUnit组织测试操作示例
May 28 PHP
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
Dec 21 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 CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
php var_export与var_dump 输出的不同
2013/08/09 PHP
php使用PDO操作MySQL数据库实例
2014/12/30 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
2017/02/25 PHP
Javascript SHA-1:Secure Hash Algorithm
2006/12/20 Javascript
最简单的js图片切换效果实现代码
2011/09/24 Javascript
jquery动画3.创建一个带遮罩效果的图片走廊
2012/08/24 Javascript
jQuery中json对象的复制方式介绍(数组及对象)
2013/06/08 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
2014/06/13 Javascript
Javascript 绘制 sin 曲线过程附图
2014/08/21 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
2020/08/21 Javascript
jQuery实现两列等高并自适应高度
2016/12/22 Javascript
TypeScript学习之强制类型的转换
2016/12/27 Javascript
如何解决vue与传统jquery插件冲突
2017/03/20 Javascript
JavaScript 巧学巧用
2017/05/23 Javascript
关于在mongoose中填充外键的方法详解
2017/08/14 Javascript
vuejs实现标签选项卡动态更改css样式的方法
2018/05/31 Javascript
layui监听工具栏的实例(操作列表按钮)
2019/09/10 Javascript
[03:06]V社市场总监Dota2项目负责人Erik专访:希望更多中国玩家加入DOTA2
2014/07/11 DOTA
[09:31]2016国际邀请赛中国区预选赛Yao赛后采访 答题送礼
2016/06/27 DOTA
[01:11:21]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第三场 3月7日
2021/03/11 DOTA
零基础学Python(一)Python环境安装
2014/08/20 Python
使用Python脚本生成随机IP的简单方法
2015/07/30 Python
深入理解python中函数传递参数是值传递还是引用传递
2017/11/07 Python
英国领先的品牌珠宝和配件供应商:Acotis Jewellery
2018/03/07 全球购物
美丽的现代设计家具:2Modern
2018/07/26 全球购物
教师自我评价范文
2013/12/16 职场文书
大学英语演讲稿(中英文对照)
2014/01/14 职场文书
国际贸易毕业生求职信范文
2014/02/21 职场文书
二手房购房协议书范本
2014/10/05 职场文书
前台岗位职责范本
2015/04/16 职场文书
村官2015年度工作总结
2015/10/14 职场文书
评奖评优个人先进事迹材料
2015/11/04 职场文书
Nginx如何配置Http、Https、WS、WSS的方法步骤
2021/05/11 Servers
Python基础之条件语句详解
2021/06/16 Python
分析JVM源码之Thread.interrupt系统级别线程打断
2021/06/29 Java/Android