Symfony2获取web目录绝对路径、相对路径、网址的方法


Posted in PHP onNovember 14, 2016

本文实例讲述了Symfony2获取web目录绝对路径、相对路径、网址的方法。分享给大家供大家参考,具体如下:

对于你的需求,Symfony2通过DIC提供了kernel服务,以及request(请求)的封装。

在controller里(在其他地方你可以自行注入kernel,这个服务是HttpKernel库里的一个类:好孩子都喜欢读源代码):

$appRoot = $this->get('kernel')->getRootDir(); // 这里得到的是app目录的绝对路径
// ... 然后你可以再定位到web目录了

web目录的相对路径?相对什么的路径?不管你的实际需求是什么,sf2给你提供了现成的工具,你可以比对获取相对路径:

use Symfony\Component\Filesystem\Filesystem;
$filesystem = new Filesystem();
$filesystem->makePathRelative($endPath, $startPath); // $endPath相对$startPath的相对路径

至于网址,你可以通过request获得:

// 在controll里:
$this->getRequest()->getHost(); // 主机名
$this->getRequest()->getHttpHost(); // 带协议的主机名
$this->getRequest()->getRequestUri(); // 请求的路径

还有很多很多的方法,可点击此处本站下载查看。

希望本文所述对大家基于Symfony2框架的PHP程序设计有所帮助。

PHP 相关文章推荐
基于mysql的论坛(7)
Oct 09 PHP
PHP文件下载类
Dec 06 PHP
PHP操作文件方法问答
Mar 16 PHP
基于php上传图片重命名的6种解决方法的详细介绍
Apr 28 PHP
php去除字符串中空字符的常用方法小结
Mar 17 PHP
Yii数据库缓存实例分析
Mar 29 PHP
PHP发送AT指令实例代码
May 26 PHP
PHP缩略图生成和图片水印制作
Jan 07 PHP
Yii2使用表单上传文件的实例代码
Aug 03 PHP
PDO::exec讲解
Jan 28 PHP
laravel框架创建授权策略实例分析
Nov 22 PHP
imagettftext() 失效,不起作用
Mar 09 PHP
CodeIgniter开发实现支付宝接口调用的方法示例
Nov 14 #PHP
PHP实现无限分类的实现方法
Nov 14 #PHP
php mysql获取表字段名称和字段信息的三种方法
Nov 13 #PHP
PHP编写daemon process 实例详解
Nov 13 #PHP
php版微信小店API二次开发及使用示例
Nov 12 #PHP
PHP Mysqli 常用代码集合
Nov 12 #PHP
PHP版微信小店接口开发实例
Nov 12 #PHP
You might like
基于PHP array数组的教程详解
2013/06/05 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
2014/11/19 PHP
php实现汉字验证码和算式验证码的方法
2015/03/07 PHP
CodeIgniter生成静态页的方法
2016/05/17 PHP
实例讲解PHP验证邮箱是否合格
2019/01/28 PHP
关于恒等于(===)和非恒等于(!==)
2007/08/20 Javascript
javascript中的array数组使用技巧
2010/01/31 Javascript
js 链式延迟执行DOME
2012/01/04 Javascript
jquery退出each循环的写法
2014/02/26 Javascript
SeaJS入门教程系列之SeaJS介绍(一)
2014/03/03 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
2015/06/11 Javascript
js获取及判断键盘按键的方法
2015/12/01 Javascript
Node.js程序中的本地文件操作用法小结
2016/03/06 Javascript
使用jquery获取url及url参数的简单实例
2016/06/14 Javascript
CSS3 media queries结合jQuery实现响应式导航
2016/09/30 Javascript
Vue.js路由组件vue-router使用方法详解
2016/12/02 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
JavaScript简单实现合并两个Json对象的方法示例
2017/10/16 Javascript
js实现点击按钮复制文本功能
2020/07/20 Javascript
jquery实现动态改变css样式的方法分析
2019/05/27 jQuery
详解ES6数组方法find()、findIndex()的总结
2020/05/12 Javascript
Node.js 中判断一个文件是否存在
2020/08/24 Javascript
[01:13:59]LGD vs Mineski Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
spark: RDD与DataFrame之间的相互转换方法
2018/06/07 Python
python3光学字符识别模块tesserocr与pytesseract的使用详解
2020/02/26 Python
pandas数据处理之绘图的实现
2020/06/15 Python
python 识别登录验证码图片功能的实现代码(完整代码)
2020/07/03 Python
详解Python直接赋值,深拷贝和浅拷贝
2020/07/09 Python
前端实现打印图像功能
2019/08/27 HTML / CSS
世界上最大的街头服饰网站:Karmaloop
2017/02/04 全球购物
大学生最新职业生涯规划书范文
2014/01/12 职场文书
大型营销活动计划书
2014/04/28 职场文书
房屋过户委托书范本
2014/10/07 职场文书
护士先进个人总结
2015/02/13 职场文书
Python爬虫基础之简单说一下scrapy的框架结构
2021/06/26 Python
Python 数据可视化神器Pyecharts绘制图像练习
2022/02/28 Python