dongliu1883 2018-08-20 07:53
浏览 44
已采纳

如何在日期之后更改PHP文件及其路径

I want to get all file names (and path) of files those updated after a date (in directory and subdirectories) using PHP.

like all files updated after 20.08.2017 ,

Below code provide only files from directory, i also need path,

$dir = "opendir(".")";
clearstatcache();
$yesdate = strtotime("-1 days");
while(false != ($file = readdir($dir)))
{
    if ( substr($file,-4) == ".php" ) 
    {
    if (filemtime($file) >= $yesdate)
    {
        echo $file;
    }
}

}

Thanks

  • 写回答

4条回答 默认 最新

  • doujiao3074 2018-08-20 08:31
    关注

    If you want to scan all sub directories until the end of the tree you need to use a recursive function.

    function get_updated_files($date, $directory, $result = array())
    {
        $directory = realpath($directory);
        $directory_content = glob($directory.'/*');
        foreach($directory_content as $item) {
        if(is_dir($item)) {
            $result = get_updated_files($date, $item, $result);
        } elseif(strtotime($date) < filemtime($item) && pathinfo($item, PATHINFO_EXTENSION) == 'php') {
            $result[] = $item;
        }
        }
        return $result;
    }
    
    $result = get_updated_files('2017-08-20', '.');
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?