如何获取目录中最后一个文件夹
我有两个问题,如题哦。
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);
------解决方案--------------------
/****************************
* 获取目录下的所有文件
* [$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>
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号