PHP checkdir()打开项目的根文件夹

时间:2014-01-14 10:26:00

标签: php scandir

美好的一天, 我在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']不是获取根文件夹名称的正确方法。重要的是脚本动态获取根文件夹的名称,就像在其他项目中一样。我做错了什么,我应该以不同的方式做到这一点吗?

2 个答案:

答案 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