PHP只获取目录路径

Adr*_* M. 10 php directory path

我有:

$page_file_temp = $_SERVER["PHP_SELF"];
Run Code Online (Sandbox Code Playgroud)

这将输出: /templates/somename/index.php

我只想从那条路径中提取 "/templates/somename/"

我该怎么做?谢谢!

Dav*_*vid 24

$page_directory = dirname($page_file_temp);
Run Code Online (Sandbox Code Playgroud)

dirname.

  • 注意 dirname() 很简单 - 它不检查文件系统。例如 dirname('/folder1/folder2/folder3/') 将返回 '/folder1/folder2'。即它假设folder3 不是一个目录。 (4认同)

NOT*_*sak 5

也许这是你的解决方案:

$rootPath = $_SERVER['DOCUMENT_ROOT'];
$thisPath = dirname($_SERVER['PHP_SELF']);
$onlyPath = str_replace($rootPath, '', $thisPath);
Run Code Online (Sandbox Code Playgroud)

例如:

$_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