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

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

0.00

0.00

1
10.06.2010 13:55:00

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

Статус
Гость
Herper
Herper
10.06.2010 14:20:56 10.06.2010 14:22:25

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

function encodestring($string) <br /> {get_lang();<br /> $table = array('А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D', 'Е' => 'E', 'Ё' => 'YO', 'Ж' => 'ZH', 'З' => 'Z', <br /> 'И' => 'I','Й' => 'J', 'К' => 'K','Л' => 'L', 'М' => 'M','Н' => 'N','О' => 'O', 'П' => 'P', 'Р' => 'R', 'С' => 'S', 'Т' => 'T', 'У' => 'U', 'Ф' => 'F', 'Х' => 'H', 'Ц' => 'C', <br /> 'Ч' => 'CH','Ш' => 'SH', <br /> 'Щ' => 'CSH', <br /> 'Ь' => '', <br /> 'Ы' => 'Y', <br /> 'Ъ' => '', <br /> 'Э' => 'E', <br /> 'Ю' => 'YU', <br /> 'Я' => 'YA', <br /> 'а' => 'a', <br /> 'б' => 'b', <br /> 'в' => 'v', <br /> 'г' => 'g', <br /> 'д' => 'd', <br /> 'е' => 'e', <br /> 'ё' => 'yo', <br /> 'ж' => 'zh', <br /> 'з' => 'z', <br /> 'и' => 'i', <br /> 'й' => 'j', <br /> 'к' => 'k', <br /> 'л' => 'l', <br /> 'м' => 'm', <br /> 'н' => 'n', <br /> 'о' => 'o', <br /> 'п' => 'p', <br /> 'р' => 'r', <br /> 'с' => 's', <br /> 'т' => 't', <br /> 'у' => 'u', <br /> 'ф' => 'f', <br /> 'х' => 'h', <br /> 'ц' => 'c', <br /> 'ч' => 'ch', <br /> 'ш' => 'sh', <br /> 'щ' => 'csh', <br /> 'ь' => '', <br /> 'ы' => 'y', <br /> 'ъ' => '', <br /> 'э' => 'e', <br /> 'ю' => 'yu', <br /> 'я' => 'ya',<br /> ' ' => '_',<br /> '*' => '',<br /> '"' => '', );<br /> $output = str_replace( array_keys($table),array_values($table),$string); <br /> return $output; <br /> }<br />

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

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

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


Ниже

меняешь это

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

на это

$oldnamefile = encodestring($_FILES['userfile']['name']);<br /> $oldnamefile = str_replace($type, "",$oldnamefile);<br /> $newname = ($namefile) &#063; "".$namefile."-".gen_pass(3)."_".$oldnamefile.".".$type."" : "".gen_pass(3)."_".$oldnamefile.".".$type."";


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

Группа
Клиент
Пункты
2121
Регистрация
02.11.2008
Пол
Мужчина
Из
Пермь
Предупреждения
Нет
ra55551
ra55551
3.75

3.75

10.06.2010 15:59:10

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

Статус
Гость
Herper
Herper
10.06.2010 16:20:55

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

Статус
Гость
Herper
Herper
10.06.2010 16:42:27

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

Статус
Гость
Herper
Herper
11.06.2010 13:59:21

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

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

$oldnamefile = str_replace($type, "",$oldnamefile);


на

$oldnamefile = str_replace(".".$type."","",$oldnamefile);


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

Files-2Lu_rutubovskij_fajl.zip

Группа
Клиент
Пункты
2121
Регистрация
02.11.2008
Пол
Мужчина
Из
Пермь
Предупреждения
Нет
ra55551
ra55551
3.75

3.75

11.06.2010 14:38:32

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

Статус
Гость
Herper
Herper
11.06.2010 14:41:15

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

Статус
Гость
Herper
Herper
27.01.2012 03:47:06

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

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

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

Open SLAED 1.*
PHP 5
Сервер в интернете
Регистрация
10.12.2009
Предупреждения
Нет
BorisT
BorisT
4.50

4.50

31.01.2012 20:12:43

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

Группа
Новички
Пункты
90
Регистрация
02.12.2011
Предупреждения
Нет
Платон
Платон
4.50

4.50

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

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