Вы не зашли.
Давно не мог понять, почему символ черточки при загрузке файлов удаляется. Подчеркивание приходится или подчеркивание ставить или слова слитно писать? почему так?
т.е. загружаю файл foo-mybar
получаю файл
foomybar
Не в сети
Почему так ХЗ ))
А чтобы было все гуд, то так (файл engine\includes\classes\upload.class.php):
найти
$fil = $parse->translit($fil);
$fname = $fil.($ext?'.'.$ext:'');
заменить на
$fil = $parse->translit($fil, 1);
$fname = $fil.($ext?'.'.$ext:'');
if ($fname == '') $fname = '_';
$fname = str_replace('_','-',$fname);
Работает со всеми тремя вариантами (как с кириллическими названиями так и с латиницей):
мой-файл = мой-файл
мой файл = мой-файл
мой_файл = мой-файл
Изменено Trashcka (2010-07-17 11:32:19)
Не в сети
Можно и оставить тире, если вызвать функцию translit($fil, 1); с параметром 1 в upload.class.php. В самой функции такая возможность есть
$cut = ($allowDash)?"/[^a-z0-9_\-\.]+/mi":"/[^a-z0-9_\.]+/mi";
А вот почему по умолчанию $allowDash не 1 я не знаю.
Не в сети