PHP glob функция для сканирования каталога - PullRequest
0 голосов
/ 30 ноября 2018

У меня глупый вопрос, но разъяснение поможет мне отладить сценарий, который я пишу.Я использую функцию 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, которая обычно относится к существованиюфайла.Я думаю, что это связано с тем, что файлы переименованы, но я не уверен насчет этого.

...