我正在编写脚本来对文件列表进行排序,获取与特定文件名匹配的最新文件,然后将其复制到另一个文件夹。我正在用PHP编写此代码,然后将其设置为每天使用CRON在特定时间运行。
文件的命名如下:VS-order-export-105.xmlVS-order-export-104.xml当前-VS-订单-出口-105,xmlcurrent-VS-order-export.104.xml
我需要获取最新的这些文件,其格式为'order-export-(number).xml'。那些前缀为“ current-”的应忽略。
我似乎无法使Regex正确执行此操作。这是我所拥有的:
<?php $src = '/public_html/folder/exports/';
$files_src = scandir($src, SCANDIR_SORT_DESCENDING);
foreach($files_src as $file) {
if (preg_match('/(^VS-), (.*)/A', $file) && !is_dir($src . $file)) {
$newest_file_src = $files_src[1];
$newest_file_path_src = $src . $files_src[1];
$dest_file_path = '/public_html/orders/';
rename($newest_file_path_src, $dest_file_path);
}
} ?>
请有人指出我做错了吗?
提前感谢!
在您的模式中,您尝试将逗号与不存在的空格匹配。