2010-04-08 53 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