文所介绍的函数:通过PHP获取某个给定路径下的父路径。给定的路径可以是相对路径和绝对路径。
实例:
PHP函数的输入输出示例输入路径 | 函数返回值 |
---|
/var/www/htdocs/images/ | /var/www/htdocs/ |
/var/www/htdocs/images | /var/www/htdocs/ |
/var/www/htdocs/index.php | /var/www/htdocs/ |
c:\www\files\folder\ | c:\www\files\ |
请注意:
1、如果在给定的路径中存在一个反斜杠”\”,则认为所有的其他斜杠均为反斜杠”\”。(Windows平台上)
2、输入路径的结尾的斜杠不是必需的,函数会自动判断是相对路径还是绝对路径(物理路径)。
3、如果$convert_backslashes 标志变量被置为True,那么路径中的所有反斜杠”\”都会被转换成正斜杠”/”
<?php
function parent_directory($path, $convert_backslashes = false) {
// 检测是否包含反斜杠
if( strstr($path, ‘\\‘) ) $backslash = true;
// 将反斜杠转换成正斜杠
$path = str_replace(‘\\‘, ‘/’, $path);
// 如果输入路径结尾包含斜杠,则自动加上
if( substr($path, strlen($path) – 1) != ‘/’ ) $path .= ‘/’;
// 获取父路径
$path = substr($path, 0, strlen($path) – 1);
$path = substr( $path, 0, strrpos($path, ‘/’) ) . ‘/’;
// 转换回反斜杠
if( !$convert_backslashes && $backslash ) $path = str_replace(‘/’, ‘\\‘, $path);
return $path;
}
?>