Форум программистов, компьютерный форум, киберфорум
Joomla
Войти
Регистрация
Восстановить пароль
 
40 / 6 / 2
Регистрация: 07.06.2012
Сообщений: 100
1

Автотранслит названия файлов при загрузке через К2

07.10.2020, 09:53. Просмотров 475. Ответов 8
Метки нет (Все метки)

Доброго всем дня! Столкнулся проблемой на сайте много пользователей которые загружают материалы через К2. Но в К2 есть существенная недоделка если название файла к примеру "Форма.txt" то название обрезается и остается только txt. Таким образом файлы становятся не читаемыми!
Подскажите как сделать авто транслит названия загружаемых файлов, ну или хотя бы чтоб в начале добавлялся символ "_"?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2020, 09:53
Ответы с готовыми решениями:

Не понимает русские названия при загрузке
Есть html-страничка: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type"...

При копировании файлов с bash скрипта в конце названия файлов добавляется какой-то символ
Есть bash скрипт копирования логов в друггую папку по cron. #!/bin/bash sudo cp...

При загрузке файлов на сервер у всех файлов пустой ContentLength
Подскажите, пожалуйста, с чем может быть связана следующая проблема. Есть страница состоящая из...

Как сделать чтоб в TextBox записались названия файлов через ',' указанной директории?
Kak sdelat' chtob v TextBox zapisalis' nazvanija failov cherez ',' ukazannoi directorii?

8
70 / 64 / 21
Регистрация: 13.02.2013
Сообщений: 416
Записей в блоге: 1
08.10.2020, 09:00 2
fly380, К2 уже устарел 1000 лет как. Какой файловый менеджер используется?
0
40 / 6 / 2
Регистрация: 07.06.2012
Сообщений: 100
08.10.2020, 09:23  [ТС] 3
MusStudent, я знаю что устарел... сайт не мой, я им управляю не больше! Материалы юзеры добавляют именно через К2 и я просто устал от того что они тупят и тычут файлы с кириллическими названием.
0
Миниатюры
Автотранслит названия файлов при загрузке через К2  
70 / 64 / 21
Регистрация: 13.02.2013
Сообщений: 416
Записей в блоге: 1
08.10.2020, 10:03 4
fly380, какая версия джумлы и к2? Возможно, можно поставить файловый менеджер не стандартный. В JCE была опция переименования файлов, в Quantum есть
0
40 / 6 / 2
Регистрация: 07.06.2012
Сообщений: 100
08.10.2020, 10:18  [ТС] 5
MusStudent, K2 v2.10.3, Joomla 3.9.22
Залез в k2/administrator/components/com_k2/models/item.php там есть функция
PHP
1
2
3
4
5
                            if ($filename != "." && $filename != "..") {
                            $file = str_replace(" ", "_", $filename);
                            $safefilename = JFile::makeSafe($file);
                            rename($imageDir.'/'.$filename, $imageDir.'/'.$safefilename);
                        }
понимаю что собака тут зарыта
0
70 / 64 / 21
Регистрация: 13.02.2013
Сообщений: 416
Записей в блоге: 1
08.10.2020, 14:08 6
fly380, попробуйте импортировать модель и применить JFilter

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
/*
* Это модель из com_content - administrator\components\com_content\models\article.php
*/
use Joomla\Registry\Registry;
use Joomla\Utilities\ArrayHelper;
 
JLoader::register('ContentHelper', JPATH_ADMINISTRATOR . '/components/com_content/helpers/content.php');
 
/*
* Сохранение алиаса - этот метод транслитерует тайтл статьи в алиас автоматом. 
*/
 
$data['alias'] = JFilterOutput::stringURLSafe($data['title']);
Попробуйте применить к названию файлов. Только после таких хаков не обновляйтесь )) И эксперименты, естественно, на локальной копии проводим сначала.

Добавлено через 57 секунд
Правда, этот код из Joomla 3.9.22. В Вашей может быть по-другому. Но в целом идея такая: использовать функцию сохранения алиаса статьи для транслитерации имен файлов

Добавлено через 3 часа 34 минуты
fly380, JFile::makeSafe - метод из Joomla API 1.7. http://inet-reklama.com/blog/j... jfile.html

Нужно поискать аналогичный метод из 3.9
0
40 / 6 / 2
Регистрация: 07.06.2012
Сообщений: 100
08.10.2020, 14:17  [ТС] 7
В общем схожу по тихому с ума если загружать файл "Форма.txt" формируется ссылка
HTML5
1
http://.../item/download/2227_726e42229bf00090e31ec76677c9e86d
, и по ней скачивается файл "txt" то есть название обрезает вместе с точкой, остается только расширение. Хотя файл на сервере есть в нормальном виде и в базе данных k2_attachments тоже прописан нормально и по ссылке
HTML5
1
https://.../index.php?option=com_extplorer&action=download&item=%D0%A4%D0%BE%D1%80%D0%BC%D0%B0.txt
скачивается.
Если в начале названия поставить любой символ к примеру "_Форма.txt", то никаких проблем файл нормально скачивается.
0
70 / 64 / 21
Регистрация: 13.02.2013
Сообщений: 416
Записей в блоге: 1
08.10.2020, 19:24 8
После этого
PHP
1
$safefilename = JFile::makeSafe($file);
добавить это
PHP
1
$safefilename = "_".safefilename;
Костыль, но зато быстро )))
0
40 / 6 / 2
Регистрация: 07.06.2012
Сообщений: 100
12.10.2020, 08:58  [ТС] 9
MusStudent, нет так не работает
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.10.2020, 08:58

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Копирование файлов при совпадении названия
Добрый день. Помогите создать bat файл. Есть большая папка с множеством в ней других вложенных...

При загрузке файлов в сеть и при переходе на некоторые сайты наглухо зависает компьютер
Здравствуйте. Сегодня уже второй раз замечаю, пытаясь загрузить фотографии на файлообменник и всё,...

Копирование файлов при совпадении названия в имени файла
Добрый день. Помогите создать bat файл. Есть больщая папка с множеством в ней других вложенных...

При разархивировании zip, русские названия файлов отображаются иероглифами
При разархивировании zip, русские названия файлов отображаются иероглифами. Смена кодировки не...

Копирование файлов из папки 2 при совпадении названия с файлами в папке 1
Доброго времени суток, суть такова: Есть 2 папки с файлами (in и out), нужно реализовать bat файл,...

Ошибка при загрузке файлов
Вот такая ошибка у меня оказывается при загрузке файла на сервер. Предоаставляю этот код в котором...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.