PHP - 根据文件名模式查找最新文件

时间:2018-05-30 14:49:36

标签: php regex filenames

我有很多玩家数据。数据存储为json,文件名模式为gamerid_date_time_seed.json。如下:

8841-2018-05-03-09-56-14-2118-data.json
8841-2018-05-03-10-50-22-1568-data.json
8841-2018-05-04-04-36-51-6081-data.json
8841-2018-05-04-06-56-50-1100-data.json

例如,在第一个文件名中,2018-05-03-09-56-14year-month-date-hour-min-sec格式。 8841是游戏者ID和最后4位数,2118在这种情况下是可以忽略的种子值。

我如何解析这个,以便我只获得游戏玩家的最新数据文件? (在这种情况下,8841-2018-05-04-06-56-50-1100-data.json)问题是游戏玩家有时可能会有多个文件但是在同一天。

我对正则表达式和东西不是很了解所以我真的很感激这里有一些帮助。

1 个答案:

答案 0 :(得分:2)

您可以使用glob函数获取文件数组,并反向排序以将最新文件作为数组中的第一项。

$gamerid = 8441;
$files = glob("filepath/".$gamerid."-*.json");
rsort($files);
$newestFile = $files[0];