Loading...
JohnCMS | Кодеры, Нужна помощь...
Юзаю jc 7.1.0, тематику сайта решил сделать типо - форум\обменник файлами
Но вот проблема - модуль загруз центра ругается на запрещённые символы в имени файла при выгрузке - в место того, что бы просто переименовать файл (заменить недопустимые символы на допустимые).... Полез в поиск искать решение проблемы, нашел такое

function translate($string) {
# Замена символов
$replace = [
'а' => 'a', 'б' => 'b',
'в' => 'v', 'г' => 'g',
'д' => 'd', 'е' => 'e',
'ё' => 'yo', 'ж' => 'j',
'з' => 'z', 'и' => 'i',
'й' => 'y', 'к' => 'k',
'л' => 'l', 'м' => 'm',
'н' => 'n', 'о' => 'o',
'п' => 'p', 'р' => 'r',
'с' => 's', 'т' => 't',
'у' => 'u', 'ф' => 'f',
'х' => 'h', 'ц' => 'ts',
'ч' => 'ch', 'ш' => 'sh',
'щ' => 'sch', 'ъ' => '',
'ы' => 'i', 'ь' => '',
'э' => 'e', 'ю' => 'ju',
'я' => 'ja', ' ' => '-'
];

# Переводим строку в нижний регистр
$string = mb_strtolower($string, 'utf-8');

# Заменяем
$string = strtr($string, $replace);

# Заменяем все лишние символы и возвращаем
return
preg_replace('~[^a-z\-]~', null, $string);
}


но как применить функцию правильно - понятия не имею, вчера тыркал пол ночи в downloads/includes/files_upload.php, что то получилось, но скрипт стал стирать расширение файла

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

<?php
$fileOriginal = 'nazvanie fayla.dat';

$file = pathinfo($fileOriginal);

$file['filename'] = translate($file['filename']);
$result = "{$file['filename']}.{$file['extension']}";

echo $result;
?>

________
посл. ред. 30.09.2019 в 17:34; всего 1 раз(а); by Mistika
Всем спасибо, проблема решена)))
Онлайн: 2
Время:
Gen. 0.0643
(c) ByMAS.RU 2010-2025