Регистрация    Забыли пароль?        Правила форума    FAQ (читать перед созданием новой темы)
Имя   Пароль  запомнить
  
Просмотр темы
Вернуться на сайт: PHP-Fusion SF Russian Support Site

Форум поддержки PHP-Fusion SF | PHP-Fusion SF - Моды/Плагины | Моды/Mods
# 1 Тема: Загрузка файлов на сервер
mishqa35
SF Team

Avatar пользователя

.jQ*

SF Support Team

Немогу без SF

Сообщений: 732
Откуда: Череповец
Зарегистрирован: 08 Ноября 2007, 20:35:30
Сказали спасибо 129 раз
Статус: offline
ICQ статус 6698669
Опубликовано 06 Августа 2009, 01:07:59
Вопщем задумал реализовать файловый загрузчик в sf-fusion (7*), сделать отдельную кнопку(bbcode)
Он заменит атачи форума, даст возможность загружать картинки\файлы к новостям, статья, файлам и на форум.
В движке Dle реализовано чтото подобное.

Структура дб:
название таблицы: files
id MEDIUMINT(8) NOT NULL AUTO_INCREMENT - ид файла\картинки (загруенного)
news_id INT(10) NOT NULL DEFAULT '0' - ид новости если загружена картинка для новости
article_id INT(10) NOT NULL DEFAULT '0' - ид статьи если загружена картинка для статьи
download_id INT(10) NOT NULL DEFAULT '0' - ид файла если загружена картинка для файлов
post_id INT(10) NOT NULL DEFAULT '0' - ид поста если загружена картинка для форума
name VARCHAR(250) NOT NULL DEFAULT '' - имя загруженного файла
author VARCHAR(40) NOT NULL DEFAULT '' - автор
date VARCHAR(15) NOT NULL DEFAULT '' - дата
dcount SMALLINT(5) NOT NULL DEFAULT '0' - число скачиваний\просмотров


При загрузке файл\картинка прицепляется к id'у(новости, статьи, файла, поста) когда редактируем (новость, статью, файл, пост) получаем id(новости, статьи, файла, поста) и выводим все загруженные файлы\картинки, редактируем и сохраняем. Тут все реализуется просто и понятно.

Если человек загрузил файл\картинку и не отпостил, то картинка\файл остается висеть на этом id'е и на id'е куда загружал(новость, статью, файл, пост) и если другой юзер захочет чето отпостить он заходит и видит что тут уже загружен какой то файл\картинка. Файл\картинку привязываем к полю 'author' это решит проблему на половину.

Файл вставляется так: [files=id]
Картинка так: [img]путь_до_картинки[/img]

При загрузке к файлу\картинке прилепляется префикс:
$file_prefix = time() + rand( 1, 100 );
$file_prefix .= "_";



$file_prefix."название_загружаемого_файла\картинки.расширение

Сылка на файл кодируется:
http://site.ru/files.php?do=".base64_decode($link)."
........................
еще не все дописано

ps; вопщем нужны все ньансы, подсказки и просто пожелания..
так же прилагаю скрин
Прикрепленные файлы click to enlarge
file-uploader.png   ( width:653 height:612 )


[Изменил(а) mishqa35, 06 Августа 2009, 22:55:59]

--------------------
Fusion и jQuery
^ наверх ^ 6698669 http://sf-fusion.ru
1 пользователь сказал спасибо Вам: R_A_D_E
Перейти на форум:


105,945,090 уникальных посетителей
сейчас: 04 Декабря 2024, 11:21:22
Генерация страницы: 0.09 сек.

Original size:14 кб.
GZipped size: 6 кб.
Compression:61%