• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Помощь кириллические имена изображений и watermark-er.

typus

Мой дом здесь!
Регистрация
25 Июл 2007
Сообщения
895
Реакции
241
приветствую, проблема в следующем.
Сайт на ВП, очень много - несколько сотен - изображений загружены через медиаменеджер с русскими именами, например, баня.jpg
Все эти изображения корректно работают в слайдерах, каруселях и вообще в принципе не доставляли хлопот. Но вот заказчик захотел наложить ватермарк, решил использовать самое простое и первое же попавшееся в поиске из админки решение - Для просмотра ссылки Войди или Зарегистрируйся.
Понравилось, что можно одним кликом наложить ватермарк на все изображения сразу, при этом файлы не перезаписываются и не портятся - новый файл с вм получает только браузер.
Но вот тут и засада - картинки с кириллицей, получаемые браузером, оказываются недоступными.
Деактивация плагина снова делает открывает эти картинки, поэтому ясно что проблема в кодировках и именно в этом плагине.
При этом я посмотрел - плагин своих таблиц не создает, а вся бд и все таблицы у меня в utf8.
Теперь собственно вопрос: что бы предпринять, чтобы все заработало корректно? Пробовал прописывать принудительную кодировку в php-файлы плагина - не помогло. Хотелось бы этот плагин оставить, или другой с аналогичными возможностями но без этих проблем - главное условие - быстрое включение вм одним кликом на всех картинках, и чтобы эти картинки не покоцались.
 
не знаю, может я что то не так делаю, но эти плагины, ни один ни второй, ничего не изменяют у меня. Т.е. если я загружаю новый файл с русским именем, да, оно автоматом транслитеруется, а все файлы что были загружены ранее так и остаются с русскими именами...
 
Варианта, на самом деле два. Первый, перезалить все старые файлы изображений с теми же именами, но чтобы у них была дата загрузки после установки плагина. Второй вариант, посмотреть права на старые файлы, возможно они загружались не через медиа-браузер, а например, по FTP и на них стоят какие-то не правильные права доступа.
 
на самом деле, если я правильно вникнул в эти плагины, там никтоии не обещал, что уже загруженные файлы будут транслитироваться.
"Sanitize filenames to latin during upload."
там даже просили сделать что то для уже загруженных файлов - Для просмотра ссылки Войди или Зарегистрируйся
по поводу первого вашего варианта - смысл может быть только один: если бы была возможность загрузить все файлы каким то образом одной командой. В противном случае - если загружать файлы по одному, какой вообще смысл в последующей транслитерации, если уж дойдет до этого, то загружать по новой буду уже переименованные. Но по одному очень не хочется, не один час и может быть не один даже день займет...
А права на них нормальные стоят, и все загружались посредством медиа менеджера. Но поскольку это в контексте с реальными возможностями плагина значения не имеет, то в принципе не важно...
Можно конечно каким-нибуть линукс скриптом рекурсивно все переименовать - есть доступ по ssh - но тогда они будут уже только как бы другие файлы, ссылки на них останутся в базе старые, с кириллицей....
Если бы я был опытным линукс админом, можно было бы конечно выстроить примерно такой алгоритм: ищем рекурсивно файлы с кириллицей, если находим такой файл - транслитируем имя и передаем запрос в такую-то таблицу на точно такое же переименование... Но, к сожалению, у меня не тот уровень пока.
 
Попробуйте этот код, вставить в functions.php темы. Правда для этого придется выгрузить все картинки на киррилице и загрузить по новой. Затем исправить пути к ним.
Код:
//Транслитерация имён загружаемых файлов
add_filter( 'sanitize_file_name', 'sanitize_title_with_translit' );
 
Назад
Сверху