тут задумался над тем как не удобно бывает на сайтах когда нельзя добавлять файлы на русском языке,это же так не удобно если с мобильного,ведь это выходишь с инета,переименовываешь,да чтоб лишних символов небыло!
облегчаю жизнь кто на движке джона.
не выступать и не клянчить что не вылажил файлы!!!
сейчас Вам напишу функцию и её вызов и где прописывать
файлы не вылаживаю из принципа,т.к. у кого то старый двиг и у кого то новый и начинаеться а почему не работает?!!!
эту функцию добавляем в func.php
////////////////////////////////////////////////////////////
//ПРЕ Транслитерация файлов //
////////////////////////////////////////////////////////////
function rus_trans($var)
{
$var = strtr($var, array('а' => 'a',
'б' => 'b',
'в' => 'v',
'г' => 'g',
'д' => 'd',
'е' => 'e',
'ё' => 'yo',
'ж' => 'zh',
'з' => 'z',
'и' => 'i',
'й' => 'j',
'к' => 'k',
'л' => 'l',
'м' => 'm',
'н' => 'n',
'о' => 'o',
'п' => 'p',
'р' => 'r',
'с' => 's',
'т' => 't',
'у' => 'u',
'ф' => 'f',
'х' => 'h',
'ц' => 'c',
'ч' => 'ch',
'ш' => 'w',
'щ' => 'sh',
'ъ' => 'q',
'ы' => 'y',
'э' => 'x',
'ю' => 'yu',
'я' => 'ya',
'ь' => '_',
' ' => '_',
'(' => '_',
')' => '_',
':' => '_',
'=' => '_',
'!' => '_',
'"' => '_',
';' => '_',
'?' => '_',
'*' => '_',
'+' => '_',
',' => '_'));
return $var;
}
вызов функции:
$fname = rus_trans($_FILES['fail']['name']);
знаю что вставить можно в приват и в форум,остальное незнаю..
файлы которые правим:
форум -> forum/addfile.php
приват -> str/pradd.php
в них ищем строку:
if ($do_file || $do_file_mini)
{
// Список допустимых расширений файлов.
$al_ext = array('rar', 'zip', 'pdf', 'txt', 'tar', 'gz', 'jpg', 'jpeg', 'gif', 'png', 'bmp', '3gp', 'mp3', 'mpg', 'sis', 'thm', 'jar', 'jad', 'sisx');
$ext = explode(".", $fname);
// Проверка на допустимый размер файла
if ($fsize >= 1024 * $flsz)
{
echo '<p><b>ОШИБКА!</b></p><p>Вес файла превышает ' . $flsz . ' кб.';
echo '</p><p><a href="pradd.php?act=write&adr=' . $adres . '">Повторить</a></p>';
require_once ('../incfiles/end.php');
exit;
}
изменяем на:
////////////////////////////////////////////////////////////
// Обработка файла (если есть) //
////////////////////////////////////////////////////////////
if ($do_file || $do_file_mini)
{
// Список допустимых расширений файлов.
$al_ext = array('rar', 'zip', 'pdf', 'txt', 'tar', 'gz', 'jpg', 'jpeg', 'gif', 'png', 'bmp', '3gp', 'mp3', 'mpg', 'sis', 'thm', 'jar', 'jad', 'sisx');
$ext = explode(".", $fname);
$fname = rus_trans($_FILES['fail']['name']);
// Проверка на допустимый размер файла
if ($fsize >= 1024 * $flsz)
{
echo '<p><b>ОШИБКА!</b></p><p>Вес файла превышает ' . $flsz . ' кб.';
echo '</p><p><a href="pradd.php?act=write&adr=' . $adres . '">Повторить</a></p>';
require_once ('../incfiles/end.php');
exit;
}
и радуемся выгрузки файлов с русским языком и с разными знаками!
и последнее, прошу Олега добавить эту фишку в двиг
буду тоже благодарен если найдёте где идёт обработка вынружаемых файлов в:
файлообменник
ЗЦ-dc_crazy_edition_9_05_beta
галерея-alternative_gallery_v_220
WingeD (26.08.2009/14:19)
и последнее, прошу Олега добавить эту фишку в двиг
Эта функцию уже есть, называется rus_lat гг
И вообще она проще делается, сменой местами ключей и значений специальной функцией в функции trans
Dionis, Ну и что может человек хочет подилица с другими