Этот вопрос закрыт для ответов, так как повторяет вопрос PHP: переименование части имени файлов в каталоге?
@ITadzhik
ойти специолист

PHP: как написать скрипт для переименования кривых имен файлов?

Всем привет.

Ситуация такая: Сейчас на хостинге файлы лежат с именами вида: #U0411#U0430#U043b#U0430#U043d#U0441_#U043d#U0430_01012017.pdf
А должно быть: Баланс_на_01012017.pdf (какой-то глюк кодировки и поехали названия файлов).

Нужно написать скрипт, который ПОСИМВОЛЬНО исправил бы имена файлов на корректные.

Коллеги вроде говорят, что сделать это можно двумя путями:
1) Через таблицу замены/подстановки
2) Некая функция Unicode (или типа того), исправляющая глючную кодировку.

Можете предложить другие способы, если знаете.

Вообще, я в начале написал рабочее решение, заменяющее значение "#U0411#U0430#U043b#U0430#U043d#U0441_#U043d#U0430_" на "Баланс_на_", но его забанили, мол там не только "Баланс_на_ДДММГГГГ", но и куча других вариаций и мол нужно менять посимвольно:

5ab00a0e43b3b382958305.jpeg
  • Вопрос задан
  • 167 просмотров
Ответы на вопрос 3
@kacheleff
fullstack developer
вот так подойдет?
если что, решение взял отсюда и немного переделал
Ответ написан
@ksnk
$x='#U0411#U0430#U043b#U0430#U043d#U0441_#U043d#U0430';
echo preg_replace_callback('/[#_]u([0-9a-fA-F]{4})/i', function ($match) {
    return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE');
}, $x);

вводит "Баланс_на". Возможно, это чем-то поможет
Ответ написан
Stalker_RED
@Stalker_RED
Сегодня уже был такой-же вопрос PHP: переименование части имени файлов в каталоге?

Это собеседование какое-то, или это вы мультов плодите?
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы