Клева
С нами с 07.02.04
Сообщения: 12781
Рейтинг: 3531
|
Добавлено: 26/06/14 в 17:43 |
Был у меня работник на одном сайте, которых наделал файлов с русскими именами, после смены хостинга имена файлов оказались в хз какой кодировки.
например раньше было ресторан1.jpg
а сейчас в этой папке такие имена файлов
#U0420#U0435#U0441#U0442#U043e#U0440#U0430#U043d1.jpg
К сожалению поздно заметил и со старого хоста все удалено
Подскажите можно ли как то восстановить имена файлов?
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 26/06/14 в 18:53 |
Как-то так
Код: | <?php
$old_file_name = '#U0420#U0435#U0441#U0442#U043e#U0440#U0430#U043d1.jpg';
$new_file_name = preg_replace_callback(
'/#U([0-9a-f]{4})/i',
function ($match) {
return mb_convert_encoding(pack('H*', $match[1]), 'cp1251', 'utf-16');
},
$old_file_name
);
rename($old_file_name, $new_file_name); |
|
|
|
|
Клева
С нами с 07.02.04
Сообщения: 12781
Рейтинг: 3531
|
Добавлено: 26/06/14 в 18:56 |
это куда подставлять?
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 26/06/14 в 19:01 |
Это надо сохранить в файл php в той же папке что и файл, который надо переименовать. И выполнить его.
|
|
|
|
Клева
С нами с 07.02.04
Сообщения: 12781
Рейтинг: 3531
|
Добавлено: 26/06/14 в 19:02 |
файл переименовался в неповторимый набор символов ѥ򳯰᫱
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 26/06/14 в 19:10 |
Проверил - переименовало в Ресторан1.jpg, но у меня винда. Попробуй поменять cp1251 на windows-1251. Если нет, то я пас.
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 28/06/14 в 00:41 |
могу даром на питоне нафигачить скрипт.
Код: [развернуть] |
# -*- coding: utf-8 -*-
#!/usr/bin/env python
import sys, os
for nfile in [f for f in os.listdir(sys.argv[1]) if f.startswith('#U')]:
s = nfile.split('.')
name = ''.join(chr(int(i[0:4], 16))+i[4:] for i in s[0].split('#U') if i)+'.'+s[1]
os.rename(nfile, name)
|
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |