获取目录中的日期最旧文件排除文件php

时间:2013-10-21 19:09:05

标签: php arrays date

我想获取目录中最旧文件的日期。 我知道如何获得最老但我希望它排除像.png .jpg等文件。 我尝试了这段代码,但它不起作用:

<?php 

$files = glob( 'test/*.*' );
$exclude_files = array('*.jpg', '*.bit', '*.png', '*.jpeg');
if (!in_array($files, $exclude_files)) {
array_multisort(
array_map( 'filemtime', $files ),
SORT_NUMERIC,
SORT_ASC,
$files
);
}

echo  date ("d F Y .", filemtime($files[0]));

?>

现在它获取了最旧文件的日期,但我希望它没有.jpg etx。文件

我该怎么做?

1 个答案:

答案 0 :(得分:2)

由于glob()会向您返回一组文件,您应该可以使用array_filter()过滤掉任何包含您不喜欢的扩展名的文件:

$files = array_filter(glob('test/*.*'), function($file) {
    // get the file's extension
    $ext = substr($file, strrpos($file, '.'));

    // check if the extension is in the list we don't want:
    return !in_array($ext, array('.jpg', '.bit', '.png', '.jpeg'));
});