Home >Backend Development >PHP Tutorial >怎么获取目录中最后一个文件夹

怎么获取目录中最后一个文件夹

WBOY
WBOYOriginal
2016-06-13 10:18:411643browse

如何获取目录中最后一个文件夹
我有两个问题,如题哦。
1、判断该目录下是否有文件夹?
2、如何获取目录中最后一个文件夹?

最后不用遍历的那种。也不用scandir的哪种。

------解决方案--------------------
操作系统都要去遍历目录文件,你怎么可能不遍历呢?
除非你知道名字
------解决方案--------------------
执行个shell命令就搞定了,前提你环境允许执行命令
------解决方案--------------------
最后一个文件夹名称?遍历目录后根据你想要的方式排序,拿最后一个文件夹名??
------解决方案--------------------
如果你认为这不算遍历,那就可以
不过也不应该算,又不是我的代码实现的遍历

1、按目录名排序的最后一个目录
$ar = glob('*', GLOB_ONLYDIR);
echo end($ar);

2、按创建时间的最后一个目录
$ar = glob('*', GLOB_ONLYDIR);
$t = array_map('filectime', $ar);
array_multisort($t, $ar);
echo end($ar);

------解决方案--------------------

PHP code
/**************************** * 获取目录下的所有文件 * [$dir] 文件夹路径 ****************************/function deepScanDir($dir) {    $fileArr = array ();    $dirArr = array ();    $dir = rtrim($dir, '//');    if (is_dir($dir)) {        $dirHandle = opendir($dir);        while (false !== ($fileName = readdir($dirHandle))) {            $subFile = $dir . DIRECTORY_SEPARATOR . $fileName;            if (is_file($subFile)) {                $fileArr[] = $subFile;            }            elseif (is_dir($subFile) && str_replace('.', '', $fileName) != '') {                $dirArr[] = $subFile;                $arr = $this->deepScanDir($subFile);                $dirArr = array_merge($dirArr, $arr['dir']);                $fileArr = array_merge($fileArr, $arr['file']);            }        }        closedir($dirHandle);    }    return array (        'dir' => $dirArr,        'file' => $fileArr    );}<div class="clear">
                 
              
              
        
            </div>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn