Задать вопрос
Ответы пользователя по тегу PHP
  • PHP: переименование части имени файлов в каталоге?

    DMityaev
    @DMityaev Автор вопроса
    системный аналитик
    Спасибо, помогло! Вот код решения:
    <?
    header("Content-Type: text/html; charset=utf-8");
    
    
    Echo "Текущая кодировка:&nbsp;" . mb_internal_encoding(); ?> </br> <?
    
    $ArrDir = glob("*.*");                                   //соберем файлы в текущей директории в массив
    
    Echo "<b>Файлы в директории запуска скрипта:</b></br>";
    
    foreach ($ArrDir as $key => $value) 
    {
    Echo "Ключ:&nbsp;{$key} => Значение:&nbsp;{$value}</br> "; 
    }
                 
    
    Echo "<hr><b>Переменование битых имен файлов</b></br><hr>";
    
    foreach($ArrDir as $name)
    {
       Echo  "Имя файла до: $name</br>";  
     
       $name_decoded = preg_replace_callback('/[#_]u([0-9a-fA-F]{4})/i', function ($match) {
           return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE');
           }, $name);
    
       Echo  "Имя файла после: $name_decoded</br><hr>";  
    
    rename($name, $name_decoded);  
    
    }
    
    ?>
    Ответ написан
    Комментировать