本文實例講述了Symfony2獲取web目錄絕對路徑、相對路徑、網(wǎng)址的方法。分享給大家供大家參考,具體如下:
對于你的需求,Symfony2通過DIC提供了kernel服務,以及request(請求)的封裝。
在controller里(在其他地方你可以自行注入kernel,這個服務是HttpKernel庫里的一個類:好孩子都喜歡讀源代碼):
$appRoot = $this->get('kernel')->getRootDir(); // 這里得到的是app目錄的絕對路徑// ... 然后你可以再定位到web目錄了web目錄的相對路徑?相對什么的路徑?不管你的實際需求是什么,sf2給你提供了現(xiàn)成的工具,你可以比對獲取相對路徑:
use Symfony/Component/Filesystem/Filesystem;$filesystem = new Filesystem();$filesystem->makePathRelative($endPath, $startPath); // $endPath相對$startPath的相對路徑
至于網(wǎng)址,你可以通過request獲得:
// 在controll里:$this->getRequest()->getHost(); // 主機名$this->getRequest()->getHttpHost(); // 帶協(xié)議的主機名$this->getRequest()->getRequestUri(); // 請求的路徑
還有很多很多的方法,可點擊此處本站下載查看。
希望本文所述對大家基于Symfony2框架的PHP程序設(shè)計有所幫助。
新聞熱點
疑難解答
圖片精選