Php 服务器路径,减去当前文件夹
好的 我觉得这太复杂了,有一个更简单的解决办法。我需要获取当前服务器路径$\u server['DOCUMENT\u ROOT'];减去当前文件夹Php 服务器路径,减去当前文件夹,php,path,Php,Path,好的 我觉得这太复杂了,有一个更简单的解决办法。我需要获取当前服务器路径$\u server['DOCUMENT\u ROOT'];减去当前文件夹 $full_path = $_SERVER['DOCUMENT_ROOT']; $current_folder = strrchr( $full_path, '/' ); $strlength = strlen( $current_folder ) - 1; $pathlength = strlen( $full_path ); $newlengt
$full_path = $_SERVER['DOCUMENT_ROOT'];
$current_folder = strrchr( $full_path, '/' );
$strlength = strlen( $current_folder ) - 1;
$pathlength = strlen( $full_path );
$newlength = $pathlength - $strlength;
$newpath = substr( $full_path, 0, $newlength );
这段代码是有效的,但我认为它可能有点过头了
谢谢,
皮特,你就不能这样做吗?它不是很漂亮,但据我所知,您可以将
。
附加到路径
$parent = $_SERVER['DOCUMENT_ROOT'].'/../';
您可能需要检查
$\u服务器['DOCUMENT\u ROOT']
最后有一个目录分隔符,如果您需要添加或不添加它。您就不能这样做吗?它不是很漂亮,但据我所知,您可以将。
附加到路径
$parent = $_SERVER['DOCUMENT_ROOT'].'/../';
您可能需要检查$\u服务器['DOCUMENT\u ROOT']
末尾有目录分隔符,如果需要添加或不添加,请尝试:
dirname($_SERVER['DOCUMENT_ROOT']);
在使用路径和文件系统时,PHP提供了所有类型的函数:尝试:
dirname($_SERVER['DOCUMENT_ROOT']);
在使用路径和文件系统时,PHP提供了所有类型的函数:请查看以下内容:
$path = $_SERVER['DOCUMENT_ROOT'];
$dirs = explode('\\', $path);
$pathWithoutDir = array_slice($dirs, 0, count($dirs) - 1);
我想那个肮脏的代码会管用的。您还可以更改$\u服务器['DOCUMENT\u ROOT']
到\uuuu DIR\uuuu
,它等于dirname(\uuuu FILE\uuuu)
编辑:代码已更新。请查看以下内容:
$path = $_SERVER['DOCUMENT_ROOT'];
$dirs = explode('\\', $path);
$pathWithoutDir = array_slice($dirs, 0, count($dirs) - 1);
我想那个肮脏的代码会管用的。您还可以更改$\u服务器['DOCUMENT\u ROOT']
到\uuuu DIR\uuuu
,它等于dirname(\uuuu FILE\uuuu)
编辑:代码更新。$newpath=preg\u replace(“/[^\/]+$/”,“,$”服务器['DOCUMENT\u ROOT']) $newpath=preg\u replace(“/[^\/]+$/”,“,$”服务器['DOCUMENT\u ROOT']) 使用函数realpath,通过添加/,将文件夹提升一级。/: $newpath = realpath($_SERVER["DOCUMENT_ROOT"] . "/../"); $newpath=realpath($\u SERVER[“DOCUMENT\u ROOT”]。“//”);
使用函数realpath,通过添加/。/,将文件夹提升一级: $newpath = realpath($_SERVER["DOCUMENT_ROOT"] . "/../"); $newpath=realpath($\u SERVER[“DOCUMENT\u ROOT”]。“//”);
dirname()
非常方便。不知道你要走哪条路,给你们两个:
$above_root = dirname($_SERVER['DOCUMENT_ROOT'])."/";
$above_current = dirname(dirname(__FILE__))."/";
dirname()
非常方便。不知道你要走哪条路,给你们两个:
$above_root = dirname($_SERVER['DOCUMENT_ROOT'])."/";
$above_current = dirname(dirname(__FILE__))."/";
用于分割路径的正则表达式?这不是最好的解决方案,你不认为吗?如果我匹配文本,我使用regexp:我发现它比使用子字符串匹配更容易使用,而且在大多数情况下,性能损失是可以忽略的。我很感激其他人可能不同意我的意见。RegeX用于分割路径?这不是最好的解决方案,你不认为吗?如果我匹配文本,我使用regexp:我发现它比使用子字符串匹配更容易使用,而且在大多数情况下,性能损失是可以忽略的。我很感激别人可能不同意我的意见。@up谢谢!它写在这里。dirname(文件)!=$_服务器['DOCUMENT_ROOT']@启动谢谢!它写在这里。dirname(文件)!=$_服务器['DOCUMENT_ROOT']