欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2024-04-04 18:25:35
...
如何获取目录中最后一个文件夹
我有两个问题,如题哦。
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
    );
} 
怎么获取目录中最后一个文件夹

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频