Maison >développement back-end >tutoriel php >怎么获取目录中最后一个文件夹

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

WBOY
WBOYoriginal
2016-06-13 10:18:411643parcourir

如何获取目录中最后一个文件夹
我有两个问题,如题哦。
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>
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn