首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

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

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

如何获取目录中最后一个文件夹
我有两个问题,如题哦。
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    );} 

热点排行