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 相关文章推荐
Discuz 5.0 中读取纯真IP数据库函数分析
Mar 16 PHP
PHP json格式和js json格式 js跨域调用实现代码
Sep 08 PHP
2个比较经典的PHP加密解密函数分享
Jul 01 PHP
PHP清除字符串中所有无用标签的方法
Dec 01 PHP
php中get_meta_tags()、CURL与user-agent用法分析
Dec 16 PHP
PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍
Jan 20 PHP
PHP 前加at符合@的作用解析
Jul 31 PHP
分享PHP守护进程类
Dec 30 PHP
php中array_column函数简单实现方法
Jul 11 PHP
PHP实现二维数组根据key进行排序的方法
Dec 30 PHP
php layui实现前端多图上传实例
Jul 30 PHP
php 使用 __call实现重载功能示例
Nov 18 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实时显示输出
2008/10/02 PHP
Smarty中调用FCKeditor的方法
2014/10/27 PHP
微信公众号开发之微信公共平台消息回复类实例
2014/11/14 PHP
PHP 中提示undefined index如何解决(多种方法)
2016/03/16 PHP
JS对URL字符串进行编码/解码分析
2008/10/25 Javascript
浅析document.createDocumentFragment()与js效率
2013/07/08 Javascript
jquery+ajax实现跨域请求的方法
2015/01/20 Javascript
javascript表格的渲染组件
2015/07/03 Javascript
jquery专业的导航菜单特效代码分享
2015/08/29 Javascript
js+canvas绘制矩形的方法
2016/01/28 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
微信小程序前端源码逻辑和工作流
2016/09/25 Javascript
Ajax+FormData+javascript实现无刷新表单信息提交
2016/10/24 Javascript
JSON键值对序列化和反序列化解析
2017/01/24 Javascript
bootstrap轮播图示例代码分享
2017/05/17 Javascript
详解webpack 打包文件体积过大解决方案(code splitting)
2018/04/10 Javascript
简单明了区分escape、encodeURI和encodeURIComponent
2018/05/26 Javascript
微信小程序实现折叠展开效果
2018/07/19 Javascript
vue中使用echarts制作圆环图的实例代码
2018/07/27 Javascript
详解iview的checkbox多选框全选时校验问题
2019/06/10 Javascript
OpenCV实现人脸识别
2017/04/07 Python
Python中xrange与yield的用法实例分析
2017/12/26 Python
Python给你的头像加上圣诞帽
2018/01/04 Python
pyqt实现.ui文件批量转换为对应.py文件脚本
2019/06/19 Python
Python3批量生成带logo的二维码方法
2019/06/24 Python
一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃
2020/11/02 Python
简单介绍HTML5中audio标签的使用
2015/09/24 HTML / CSS
2014年两会学习心得体会
2014/03/17 职场文书
三好学生演讲稿范文
2014/04/26 职场文书
企业总经理任命书
2014/06/05 职场文书
个人批评与自我批评材料
2014/10/17 职场文书
财务会计实训报告
2014/11/05 职场文书
高质量“欢迎词”
2019/04/03 职场文书
管理者日常工作必备:22条企业管理流程模板!
2019/07/12 职场文书
python运算符之与用户交互
2022/04/13 Python
详解Spring Security如何在权限中使用通配符
2022/06/28 Java/Android