2010-04-08 92 views
8

我:PHP僅獲得目錄路徑

$page_file_temp = $_SERVER["PHP_SELF"]; 

將輸出:/templates/somename/index.php

我想從這個路徑只有"/templates/somename/"

我該怎麼辦呢提取? 謝謝!

回答

18
$page_directory = dirname($page_file_temp); 

dirname

+0

明白了:)謝謝!我走錯了路。 – 2010-04-08 17:04:26

1

看看dirname()函數。

從文檔中,dirname()刪除了斜線。如果您想保留它,您可以將常量DIRECTORY_SEPARATOR附加到結果中。

$dir = dirname('mystring/and/path.txt').DIRECTORY_SEPARATOR; 
1

使用parse_url將佔GET變量和除其他特定的URL-份 「片段」(#後的URL部分)。

$url = $_SERVER['PHP_SELF']; // OR $_SERVER['REQUEST_URI'] 

echo parse_url($url, PHP_URL_PATH); 
4

也許這是你的解決方案:

$rootPath = $_SERVER['DOCUMENT_ROOT']; 
$thisPath = dirname($_SERVER['PHP_SELF']); 
$onlyPath = str_replace($rootPath, '', $thisPath); 

例如:

$_SERVER['DOCUMENT_ROOT']是服務器的這樣/home/abc/domains/abc.com/public_html

$_SERVER['PHP_SELF']根路徑是對整個路徑,腳本像這樣/home/abc/domains/abc.com/public_html/uploads/home/process.php

然後我們就可以有:

$rootPath這樣/home/abc/domains/abc.com/public_html

$thisPath這樣/home/abc/domains/abc.com/public_html/uploads/home

而且$onlyPath這樣/uploads/home