使用PHP 7.4,我有一个名为$videoFiles
的数组,其中包含以下视频文件的路径/www/nginx/html/camera1/today/event69-27062023_115101.mp4
文件名格式为“event(event no)-(DDMMYY_HHMMSS).mp4”
我试着对这个数组排序,所以我有最早的第一个和最晚的最后一个。我试着用这个函数来做我需要做的事情:
<?php
usort(
$videoFiles,
create_function(
'$a,$b',
'return filemtime($a) - filemtime($b);'
)
);
但这并没有给予正确的结果。数组中的文件仍未排序。如何正确排序?
3条答案
按热度按时间qlvxas9a1#
PHP
usort(array &$array, callable $callback): true
需要一个回调函数来执行实际的比较。要比较文件名中的日期,首先需要隔离表示日期和时间的字符串,然后将其转换为DateTime对象。然后可以进行日期时间比较。
下面是代码示例:
yyyllmsg2#
nhhxz33t3#
试试这个。它解析时间戳,将其转换为sort-ready格式并进行比较: