【发布时间】:2014-04-06 04:07:51
【问题描述】:
我正在寻找找出部分文件名的最佳方法。我正在组合一个应用程序,该应用程序需要能够分解文件名,然后根据该文件名的一部分查询数据库。让我举一些例子说明文件名是如何出现的。
Station-[_A]_Warren_2014-01-2614_40_01_377000.mp3
Fire_station_2014-02-1311_10_01_347000.mp3
FIRE_EMS_2014-03-0111_11_01_212000.mp3
Really_long_name_goes_here_2014-04-0123_12_01_177000.mp3
现在,我在扫描目录找到长文件名后的变量是$file。我需要找到一种方法来分解这些片段(我可以进行分解),但我需要一种很好的方法来帮助确定该文件名的“前面”。该文件名的前面定义为“YYYY-MM-DDHH 之前的任何内容”格式。
所以我猜测必须对此进行某种正则表达式或 pre_match ?
【问题讨论】:
-
377000、347000、212000、177000是什么意思?
-
_2014 之后的所有内容都是日期/时间格式,一直到毫秒。所以 _2014-04-05-23_13_01_120000.mp3 是 2014 年 4 月 5 日 11:13:01:120000
-
我想您想将其转换为时间戳以将其放入数据库中?
-
那之前的部分呢,我的意思是 Station-[A]_Warren 和第一种情况一样。
-
不 - 我想在 _2014 之前获得名称。对于此应用程序,该起始文件名与数据库中的某些内容“原样”匹配