我当前的文档根目录是这样的(通过$ _SERVER ['DOCUMENT_ROOT']):
/var/www/html/clients/app/folder
我需要生成一个文件夹:
/var/www/html/clients/app
我将如何做到这一点?
我过去曾问过这个问题: Dynamically finding paths, is there a better way?
但是,我有这种情况不起作用:
在file2.php中,我需要以下代码才能工作:
$base_path = dirname(realpath("../../../../do_not_remove.txt"));
理论上,基于它的位置,应该是这样的:
$base_path = dirname(realpath("../do_not_remove.txt"));
在实践中,可以传输这些数据的全局可用。但是,在这个继承的项目中,我并没有在需要它的地方重复使用它。
更新#1
根据答案,这似乎很有效:realpath($_SERVER['DOCUMENT_ROOT']."/../../");
答案 0 :(得分:4)
你可以 - $_SERVER['DOCUMENT_ROOT'] ."/../"
- 即使它看起来不太漂亮
或者可能是一个更有道理的方式 - dirname( $_SERVER['DOCUMENT_ROOT'] )
- 认为这应该有用
答案 1 :(得分:3)
$path = $_SERVER['DOCUMENT_ROOT']."/../";
答案 2 :(得分:2)
使用explode(),array_pop()和implode():
<?php
//$path = $_SERVER['DOCUMENT_ROOT'];
$path = "/var/www/html/clients/app/folder";
$tmp = explode("/", $path);
array_pop($tmp);
$path_up = implode('/', $tmp);
echo $path_up; //output: /var/www/html/clients/app
?>