2011-01-31 96 views
0

我使用下面的代碼解析URL - PHP的問題

<?php 
$url = 'http://www.ewwsdf.org/012Q/rhod-05.php?arg=value#anchor'; 
$parse = parse_url($url); 
$lnk= "http://".$parse['host'].$parse['path']; 
echo $lnk; 
?> 

這是給我的輸出作爲

http://www.ewwsdf.org/012Q/rhod-05.php

如何修改代碼,以便我得到的輸出爲

http://www.ewwsdf.org/012Q/

需要的只是目錄名不帶文件名

(其實我需要的鏈接,這樣我就可以連接起來,這是頁面上的圖像,通過附加的圖像背後的鏈接如http://www.ewwsdf.org/012Q/hi.jpg

+0

在這個問題有一個簡單的示例使用Zend 2011-01-31 23:46:01

回答

4

需要的只是目錄名不帶文件名

然後用dirname(),如

$lnk= "http://".$parse['host'].dirname($parse['path']); 
+0

@Adi爲了公平,@nikic首先給出了相同的答案(13秒) – Phil 2011-02-01 21:53:24

3
$lnk = "http://".$parse['host'].dirname($parse['path']).'/'; 

dirname返回父目錄的路徑。

1

你可以做這樣的事情:

$sections = explode("/", $_SERVER['REQUEST_URI']); 
$folder = $sections[1]; 
$url = "http://www.ewwsdf.org/".$folder."/"; 
3

使用pathinfo()代替它顯示已解析相關信息

+0

+1。 `$ parse = pathinfo($ url); echo $ parse ['dirname'];`正是你想要的。 – mfonda 2011-02-01 00:07:26