
PHP 获取文件夹内最新创建文件的技巧
直接使用 scandir() 函数无法获取文件夹中按创建日期排序的文件列表,因为它仅按文件名字典序排序。  我们需要编写代码来读取目录,并根据文件修改时间进行排序。
以下代码片段演示了如何实现:
<code class="php">$files = [];
$directory = './bin'; // 目标文件夹路径
if ($handle = opendir($directory)) {
    while (false !== ($entry = readdir($handle))) {
        $filePath = $directory . '/' . $entry;
        if (is_file($filePath)) {
            $modifiedTime = filectime($filePath); // 获取文件最后修改时间
            $files[$modifiedTime] = $entry; // 使用修改时间作为键值
        }
    }
    closedir($handle);
}
krsort($files); // 按修改时间降序排序
$latestFile = array_shift($files); // 获取第一个元素,即最新修改的文件
var_dump($latestFile); // 输出最新文件的名称</code>这段代码首先创建一个空数组 $files 用于存储文件信息。然后,它迭代遍历指定目录下的所有条目,检查是否是文件,如果是则获取其最后修改时间 (filectime()),并将其作为键,文件名作为值存储到 $files 数组中。最后,使用 krsort() 函数按键值(即修改时间)降序排序数组,并使用 array_shift() 获取排序后的第一个元素,即最新创建的文件名。
立即学习“PHP免费学习笔记(深入)”;
以上就是PHP如何获取指定文件夹下最新创建的文件?的详细内容,更多请关注php中文网其它相关文章!
                        
                        PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号