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 相关文章推荐
PHP 翻页 实例代码
Aug 07 PHP
php数据入库前清理 注意php intval与mysql的int取值范围不同
Dec 12 PHP
php学习笔记之面向对象编程
Dec 29 PHP
PHP连接MySQL查询结果中文显示乱码解决方法
Oct 25 PHP
PHP判断远程图片是否存在的几种方法
May 04 PHP
thinkphp在模型中自动完成session赋值示例代码
Sep 09 PHP
PHP中SimpleXML函数用法分析
Nov 26 PHP
php求数组全排列,元素所有组合的方法
May 05 PHP
PHPExcel在linux环境下导出报500错误的解决方法
Jan 26 PHP
php文件上传类的分享
Jul 06 PHP
php插件Xajax使用方法详解
Aug 31 PHP
tp5.1 框架数据库-数据集操作实例分析
May 26 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 存取 MySQL 数据库的一个例子
2006/10/09 PHP
小偷PHP+Html+缓存
2006/11/25 PHP
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
实例详解PHP中html word 互转的方法
2016/01/28 PHP
thinkphp中的多表关联查询的实例详解
2017/10/12 PHP
Jquery 获得服务器控件值的方法小结
2010/05/11 Javascript
Jquery上传插件 uploadify v3.1使用说明
2012/06/18 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
JavaScript使用指针操作实现约瑟夫问题实例
2015/04/07 Javascript
可以浮动某个物体的jquery控件用法实例
2015/07/24 Javascript
跟我学习javascript的for循环和for...in循环
2015/11/18 Javascript
angularJS 如何读写缓冲的方法(推荐)
2016/08/06 Javascript
JS简单判断滚动条的滚动方向实现方法
2017/04/28 Javascript
AngularJs ng-change事件/指令的用法小结
2017/11/01 Javascript
Angular5给组件本身的标签添加样式class的方法
2018/04/07 Javascript
修改npm全局安装模式的路径方法
2018/05/15 Javascript
深入理解Vue router的部分高级用法
2018/08/15 Javascript
Vue CLI4 Vue.config.js标准配置(最全注释)
2020/06/05 Javascript
如何在selenium中使用js实现定位
2020/08/18 Javascript
Python中使用md5sum检查目录中相同文件代码分享
2015/02/02 Python
Python字典的基本用法实例分析【创建、增加、获取、修改、删除】
2019/03/05 Python
详解使用python绘制混淆矩阵(confusion_matrix)
2019/07/14 Python
Python使用进程Process模块管理资源
2020/03/05 Python
python json.dumps中文乱码问题解决
2020/04/01 Python
Django Admin 上传文件到七牛云的示例代码
2020/06/20 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
2020/11/17 Python
用HTML5中的Canvas结合公式绘制粒子运动的教程
2015/05/08 HTML / CSS
加拿大时尚床上用品零售商:QE Home | Quilts Etc
2018/01/22 全球购物
妈妈的账单教学反思
2014/02/06 职场文书
《祁黄羊》教学反思
2014/04/22 职场文书
拓展策划方案
2014/06/03 职场文书
学校党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
单位租房协议书范本
2014/12/04 职场文书
党校个人总结
2015/03/04 职场文书
ICOM R71E和R72E图文对比解说
2022/04/07 无线电
云服务器部署 Web 项目的实现步骤
2022/06/28 Servers