Открыть Ответить

Имена загружаемых файлов

0

0

1
10.06.2010 13:55:00

И еще вопрос, как сделать, чтобы имена загружаемых файлов не были fd3ЕНоhhf.mp3, я имею в виду, чтобы они не сохранялись на сервере под таким именем. А например, если название русское, то сохранялось в транслите. А если на латыни, то с таким именнем и сохранялось???

Herper
Herper
2
10.06.2010 14:20:56 10.06.2010 14:22:25

Если я не ошибаюсь то у тебя slaed 2.6
Вставляешь эту функцию в function/sources.php

Код
function encodestring($string) 
{get_lang();
$table = 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','Ш' => 'SH', 
'Щ' => 'CSH', 
'Ь' => '', 
'Ы' => 'Y', 
'Ъ' => '', 
'Э' => 'E', 
'Ю' => 'YU', 
'Я' => 'YA', 
'а' => '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', 
'ш' => 'sh', 
'щ' => 'csh', 
'ь' => '', 
'ы' => 'y', 
'ъ' => '', 
'э' => 'e', 
'ю' => 'yu', 
'я' => 'ya',
' ' => '_',
'*' => '',
'"' => '', );
$output = str_replace( array_keys($table),array_values($table),$string); 
return $output; 
}

В этом же файле находишь функцию function upload

В ней находишь

Код
if (intval($_FILES['userfile']['size'])) {

Ниже

меняешь это

$newname = ($namefile) ? "".$namefile."-".gen_pass(10).".".$type."" : "".gen_pass(15).".".$type."";

на это

Код
$oldnamefile = encodestring($_FILES['userfile']['name']);
$oldnamefile = str_replace($type, "",$oldnamefile);
$newname = ($namefile) ? "".$namefile."-".gen_pass(3)."_".$oldnamefile.".".$type."" : "".gen_pass(3)."_".$oldnamefile.".".$type."";

Перед эксперементом сделай копию файла, Так как не проверял

ra55551
ra55551
3.75

3.75

3
10.06.2010 15:59:10

Ок попробую отпишусь

Herper
Herper
4
10.06.2010 16:20:55

Все сделал, но толку нету. Самое интересное, что даже ошибок нету))) Сохраняет как и раньше, как будто ниче не менял

Herper
Herper
5
10.06.2010 16:42:27

Точнее нет. Короче после того как файл закончил загружаться и должно выскачить окно, что типо Спасибо за загрузку и т.д. Выскакивает белый экран и файла на сервере нету

Herper
Herper
6
11.06.2010 13:59:21

Значит допустил ошибку. Тоько что тприменил мой код у себя на сайте в се работает.

Только нужно заменить стороку типа

Код
$oldnamefile = str_replace($type, "",$oldnamefile);

на

Код
$oldnamefile = str_replace(".".$type."","",$oldnamefile);

Загружал файл рутубовский файл.zip после загрузки получил

Files-2Lu_rutubovskij_fajl.zip

ra55551
ra55551
3.75

3.75

7
11.06.2010 14:38:32

Да пасиб все работает

Herper
Herper
8
11.06.2010 14:41:15

Млин, загрузка файлов теперь работает правильно. Но вот у меня стоит отдельный модуль музыки, там вроде все похоже построено, но этот же способ не работает. Не знаю почему, после загрузки тупо белый экран выскакивает(( Мот кто поможет я модуль тогда могу скинуть или что для этого надо??

Herper
Herper
9
27.01.2012 03:47:06

ra55551, Спасибо!
В Open Slaed загрузку файлов для новостей по такому принципу сделал - теперь хоть понятно откуда какие файлы.

только gen_pass перетащил на создание новости. В результате все файлы от одной новости имеют одинаковый префикс. А префикс в базе сохраняю

Осталось только получение списка файлов сделать по данному префиксу, но думаю, что там не сложнее.

Версия системы Open SLAED 1.*
Версия PHP PHP 5
Сервер Сервер в интернете
BorisT
BorisT
4.5

4.5

10
31.01.2012 20:12:43

Тоже у себя после некоторых мучений реализовал, спасибо)

Платон
Платон
4.5

4.5

Открыть Ответить
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

Поделиться
QR-код

Предварительный просмотр