У меня глупый вопрос, но разъяснение поможет мне отладить сценарий, который я пишу.Я использую функцию php glob()
для сканирования файлов в разных каталогах.Сценарий, который я создал, должен запускать и сканировать эти каталоги, а затем, если данный шаблон найдет совпадение с именами файлов внутри папки, функция будет массово переименовывать эти файлы.Мой вопрос заключается в том, что мне нужно повторно сканировать папку после переименования файлов, или я могу использовать только одну переменную для сканирования файлов, а затем переименовать их, избегая повторного сканирования каталога?
Вот пример кода:
define('ADMIN_PATH', ABSPATH.'/admin');
// the files inside admin are prefixed with the admin_filename.php prefix
$admin_root_files = glob(ADMIN_PATH.'/*.php');
// with this function I'm removing the prefix
function prefix_remover(array $files, $pattern, $replace){
foreach($files as $_file){
$prefix_replace = preg_replace("/{$pattern}/", "{$replace}", $_file);
$unprefix_file = rename($_file, $prefix_replace);
}
return true;
}
Если я дважды вызываю функцию удаления префикса (мне нужно открыть переименованные файлы, а затем массово заменить префикс в коде), консоль зарегистрирует ошибку php, которая обычно относится к существованиюфайла.Я думаю, что это связано с тем, что файлы переименованы, но я не уверен насчет этого.