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 和 XML: 使用expat函数(三)
Oct 09 PHP
php入门学习知识点六 PHP文件的读写操作代码
Jul 14 PHP
PHP查询数据库中满足条件的记录条数(两种实现方法)
Jan 29 PHP
PHP写的加密函数,支持私人密钥(详细介绍)
Jun 09 PHP
php实现图片局部打马赛克的方法
Feb 11 PHP
PHP文件操作之获取目录下文件与计算相对路径的方法
Jan 08 PHP
PHP读取文件的常见几种方法
Nov 03 PHP
关于Laravel Route重定向的一个注意点
Jan 16 PHP
php数组指针操作详解
Feb 14 PHP
php实现生成code128条形码的方法详解
Jul 19 PHP
laravel 框架配置404等异常页面
Jan 07 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
Jan 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程序的php代码
2008/04/07 PHP
php的一些小问题
2010/07/03 PHP
php中serialize序列化与json性能测试的示例分析
2013/04/27 PHP
利用PHP将图片转换成base64编码的实现方法
2016/09/13 PHP
php 5.4 全新的代码复用Trait详解
2017/01/05 PHP
php 猴子摘桃的算法
2017/06/20 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
PHP实现多图上传和单图上传功能
2018/05/17 PHP
前台js改变Session的值(用ajax实现)
2012/12/28 Javascript
简介BootStrap model弹出框的使用
2016/04/27 Javascript
AngularJS基础 ng-csp 指令详解
2016/08/01 Javascript
vue mintui-Loadmore结合实现下拉刷新和上拉加载示例
2017/10/12 Javascript
使用Angular CLI生成 Angular 5项目教程详解
2018/03/18 Javascript
微信小程序自定义prompt组件步骤详解
2018/06/12 Javascript
chosen实现省市区三级联动
2018/08/16 Javascript
vue 指令之气泡提示效果的实现代码
2018/10/18 Javascript
基于Koa2写个脚手架模拟接口服务的方法
2018/11/27 Javascript
vue路由缓存的几种实现方式小结
2020/02/02 Javascript
原生JS实现贪吃蛇小游戏
2020/03/09 Javascript
python实现删除文件与目录的方法
2014/11/10 Python
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
2019/12/03 Python
Python 文件数据读写的具体实现
2020/01/24 Python
Python操作MongoDb数据库流程详解
2020/03/05 Python
工程专业应届生求职信
2014/02/19 职场文书
工作决心书
2014/03/11 职场文书
高等教育专业自荐信范文
2014/03/26 职场文书
毕业生欢送会主持词
2014/03/31 职场文书
大三学年自我鉴定范文(3篇)
2014/09/28 职场文书
2014年大班保育员工作总结
2014/12/02 职场文书
2014年信息中心工作总结
2014/12/17 职场文书
高三毕业感言
2015/07/30 职场文书
2016年学校党支部公开承诺书
2016/03/25 职场文书
导游词之张家界
2019/10/31 职场文书
CSS3通过var()和calc()函数实现动画特效
2021/03/30 HTML / CSS
python中sys模块的介绍与实例
2021/04/17 Python