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

php中文网
发布: 2016-06-13 13:34:50
原创
1699人浏览过

如何获取目录中最后一个文件夹
我有两个问题,如题哦。
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>
登录后复制
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号