Я пишу скрипт для сортировки списка файлов, получения самого нового файла, который соответствует определенному имени файла, и копирования его в другую папку. Я пишу это в PHP, а затем настраиваю его на запуск в определенное время каждый день с использованием CRON.
Файлы названы так: VS-order-export-105. xml VS-order-export-104. xml current-VS-order-export-105, xml current-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);
}
} ?>
Пожалуйста, кто-нибудь может указать, что я делаю неправильно?
Заранее спасибо!