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 和 MySQL 基础教程(一)
Oct 09 PHP
让你同时上传 1000 个文件 (一)
Oct 09 PHP
PHP中MD5函数使用实例代码
Jun 07 PHP
php foreach循环中使用引用的问题
Nov 06 PHP
50个PHP程序性能优化的方法
Jun 02 PHP
php使用google地图应用实例
Dec 31 PHP
thinkPHP模型初始化实例分析
Dec 03 PHP
WordPress的主题编写中获取头部模板和底部模板
Dec 28 PHP
PHP获取文件扩展名的方法实例总结
Jun 10 PHP
php检测mysql表是否存在的方法小结
Jul 20 PHP
Laravel 类和接口注入相关的代码
Oct 15 PHP
PHP实现腾讯短网址生成api接口实例
Dec 08 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制作简单分页(从数据库读取记录)的方法详解
2013/05/04 PHP
php中PDO方式实现数据库的增删改查
2015/05/17 PHP
php 中的closure用法详解
2017/06/12 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
jQuery 使用手册(三)
2009/09/23 Javascript
jQuery EasyUI API 中文文档 - ValidateBox验证框
2011/10/06 Javascript
jQuery查询数据返回object和字符串影响原因是什么
2013/08/09 Javascript
javascript中的正则表达式使用指南
2015/03/01 Javascript
你有必要知道的25个JavaScript面试题
2015/12/29 Javascript
Node.js的npm包管理器基础使用教程
2016/05/26 Javascript
实例讲解JavaScript中instanceof运算符的用法
2016/06/08 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
2016/12/02 Javascript
详解nodejs 文本操作模块-fs模块(二)
2016/12/22 NodeJs
javascript实现二叉树的代码
2017/06/08 Javascript
浅谈angular4生命周期钩子
2017/09/05 Javascript
angular实现input输入监听的示例
2018/08/31 Javascript
webpack打包优化的几个方法总结
2020/02/10 Javascript
[52:10]LGD vs Optic Supermajor小组赛D组胜者组决赛 BO3 第二场 6.3
2018/06/04 DOTA
Python显示进度条的方法
2014/09/20 Python
使用Python的Flask框架实现视频的流媒体传输
2015/03/31 Python
python 寻找list中最大元素对应的索引方法
2018/06/28 Python
python 标准差计算的实现(std)
2019/07/29 Python
通过实例简单了解Python中yield的作用
2019/12/11 Python
python GUI库图形界面开发之PyQt5多线程中信号与槽的详细使用方法与实例
2020/03/08 Python
Python的PIL库中getpixel方法的使用
2020/04/09 Python
CSS3实现多背景展示效果通过CSS3定位多张背景
2014/08/10 HTML / CSS
AJAX都有哪些有点和缺点
2012/11/03 面试题
实习生单位鉴定意见
2013/12/04 职场文书
货物运输服务质量承诺书
2014/05/29 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
艺术节开幕词
2015/01/28 职场文书
工作汇报材料难写?方法都在这里了!
2019/07/01 职场文书
大学生奖学金获奖感言(范文)
2019/08/15 职场文书
教学工作总结范文5篇
2019/08/19 职场文书
MySQL 逻辑备份 into outfile
2022/05/15 MySQL