PHP - 根据文件名模式查找最新文件
PHP - Find latest file based on filename pattern
我有一堆玩家数据。数据存储为 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-14
就是year-month-date-hour-min-sec
格式。 8841
是玩家 ID 和最后 4 位数字,2118
在这种情况下是可以忽略的种子值。
我如何解析这个以便我只获得玩家的最新数据文件? (在本例中为 8841-2018-05-04-06-56-50-1100-data.json)问题是有时玩家可能有多个文件,但在同一天。
我不太擅长正则表达式之类的东西,所以非常感谢您的帮助。
您可以使用 glob 函数获取文件数组,并反向排序以获取最新文件作为数组中的第一项。
$gamerid = 8441;
$files = glob("filepath/".$gamerid."-*.json");
rsort($files);
$newestFile = $files[0];
我有一堆玩家数据。数据存储为 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-14
就是year-month-date-hour-min-sec
格式。 8841
是玩家 ID 和最后 4 位数字,2118
在这种情况下是可以忽略的种子值。
我如何解析这个以便我只获得玩家的最新数据文件? (在本例中为 8841-2018-05-04-06-56-50-1100-data.json)问题是有时玩家可能有多个文件,但在同一天。
我不太擅长正则表达式之类的东西,所以非常感谢您的帮助。
您可以使用 glob 函数获取文件数组,并反向排序以获取最新文件作为数组中的第一项。
$gamerid = 8441;
$files = glob("filepath/".$gamerid."-*.json");
rsort($files);
$newestFile = $files[0];