美好的一天, 我在PHP中使用scandir()命令有以下问题。我需要打开项目的根文件夹。这个概念非常简单,我正在开发一个脚本,它将打开根文件夹并删除每个包含的文件夹/文件不符合某些参数。不幸的是,这必须在PHP中完成。到目前为止,我一直在使用
$dir=scandir('..'.$_SERVER['REQUEST_URI']);
foreach($dir as $i=>$val){
if(is_dir($dir[$i])){
$tmpDir=scandir('..'.$_SERVER['REQUEST_URI'].$dir[$i]);
}
}
但是当我在print_r()$ tmpDir时,我得到一个表示我项目的父文件夹结构的数组(XAMPP / htdocs /)。我相信$ _SERVER ['REQUEST_URI']不是获取根文件夹名称的正确方法。重要的是脚本动态获取根文件夹的名称,就像在其他项目中一样。我做错了什么,我应该以不同的方式做到这一点吗?
答案 0 :(得分:0)
使用__FILE__
,然后在/
举个例子:
我的脚本位于:/home/cloud/public/index.php
这将是__FILE__
的输出。
爆炸将导致:
(
[0] =>
[1] => home
[2] => cloud
[3] => public
[4] => index.php
)
然后,您可以获取所需的任何目录并获取其名称。
如果您想知道脚本所基于的文件夹,请获取最后一个条目,如下所示:
$explode[count($explode)-2]
将导致:
public
获取放置脚本的文件夹的文件夹名称的完整脚本:
$explode = explode("/", __FILE__);
echo $explode[count($explode)-2];
答案 1 :(得分:0)
如果您使用的是PHP 5.3,则可以使用__DIR__
;如果是< dirname(__FILE__)
5.3