我在var /
中有音频文件这是文件名
2-3109999999-3246758493-1271129518-1271129505.6.wav
格式
2 =广告系列ID为
3109999999 =来电号码
3246758493 =号码为
1271129518 =时间戳呼叫结束
1271129505 =时间戳呼叫开始
6 =来电号码
如果我只传递名为3246758493的号码,如何找到所有文件而不定义所有其他变量(例如时间戳等)以及文件名中包含该号码的文件?
答案 0 :(得分:1)
您需要循环浏览文件夹:http://php.net/manual/en/function.readdir.php
然后对于文件夹中的每个文件,尝试将其与使用正则表达式请求的文件匹配我猜?
http://www.txt2re.com/index-php.php3?s=2-3109999999-3246758493-1271129518-1271129505.6.wav&8
答案 1 :(得分:1)
您还可以使用DirectoryIterator扫描文件夹,使用RegexIterator根据模式过滤文件。
$id = '3246758493';
$files = new RegexIterator(new DirectoryIterator('var/'),
"#^\d-\d{10}-$id-\d{10}-\d{10}\.\d\.wav$#D");
foreach ($files as $fileinfo) {
echo $fileinfo . PHP_EOL;
}