Скрипт файлообменника 1) генерирует короткие ссылки на файлы (/a, /Z, /a1, /Z9 ) 2) при загрузке изображений имеет превью перед скачиванием 3) возможность поставить пароль или описание к файлу. 4) файлы можно загружать без регистрации пользователя, файлы таких пользователей удаляются автоматически через 31 день (число дней меняется в конфиге, так же меняется размер максимального файла). 5) Регистрация, зарегистрированный пользователь может просматривать список своих файлов (их файлы автоматически не удаляются), при желании может удалить любой свой файл, пополнение баланса для расширение места и дискового просмтранства 6) система рефералов, спроектированная по БД и учитывается при регистрации 7) зареганный пользователь может сменить пароль при необходимости. 8) администратор может удалять файлы 9) раздел новостей сервиса 10) статистика ежедневных скачиваний и всего скачиваний 11) мобильная версия 12) зарегистрированный пользователь имеет квоту (1гб) и макс. размер загружаемого файла (200мб), все размеры меняются индивидуально для каждого, в бд (платформа для доната) 13) весь необходимый контроль ошибок (не превышение своих лимитов, лимитов сервера post_max_size, memory_max_size итд, ошибок в процессе загрузки файла) 14) антивирусная проверка файлов (только для вдс и серверов) Пример скрипта на http://golodnyi.ru Технические требования PHP 5.3, MySQL, .htaccess, chmod Автор: Я Цена: 1000 руб. Дополнительная информация: скрипт написан на CodeIgniter с применением Smarty (все функции моделей детектятся в phpStorm) Контакты ICQ: 292496, E-mail: ochen@golodnyi.ru
Позволяет ли скрипт заливать очень большие файлы? То есть большие чем размер доступной оперативки? При скачивании есть докачивание?
1) Алгоритмы выдачи файла кусками отсутсвуют, поэтому скорее нет. 2) Докачивание поддержкой сервера, ты же не предлагаешь писать в сессию прогресс загрузки для каждого пользователя? Если хороший хостинг, то докачка будет Твои требования тянуть чуть больше чем на 1т.р; Учитывай стоимость)
я ничего не предлагаю и не делаю никаких предположений. ты выставил товар, а я уточняю его качества чтобы не додумывать.
Голодный сори, я очень любоппытный Что это ты знаешь? Добавлено спустя 3 минуты 57 секунд: А нафига? В Codeigniter есть свой родной шаблонизатор, зачем смарти? Codeigniter подает последние признаки жизни, его перепродают друг другу компании, так что дальнейшая его судьба для меня загадка(((
Ну да, кавычка проскачила, бывает , вроде раньше CI всегда эскейпил всё что через AD в бд идет, странно... CI может и умирает, мне не важно, он удобный, смарти нужен потому что мой phpstrom не понимает CI, зато понимает смарти, вообще это был эксперемент, обычно так не практикую, хотя эксперемент показал хороший результат, но сильно геморойный на начальном этапе создания.
Кстати уязвимости исправил, заодно поправил проблемы с доступом к БД, они правда были из за моего бесплатного хоста, который не разрешал больше 3-х одновременных запросов, но я чутка оптимизировал, ну и авторизация раньше слетала, теперь это дело тоже стабильнее, держится долго.
Я имел ввиду 3 одновременных подключения, опечатался, хотя лимиты на количество запросов в отрезок времени тоже есть, есть даже лимиты на количество выбранных данных за 1 запрос, мне кажется что последний лимит это в ущерб хостингу только, вместо 1-го качественного запроса пользователи пишут запросы в циклах, насилуя бд в разы сильнее. Добавлено спустя 2 минуты 19 секунд: а голодный потому что скрипты не покупают =), я его уже там модифицировал, разные топы пользователей и файлов, понятия не имею зачем файлообменнику такое, но у многих есть, решил тоже сделать
Зачем? У тебя 3 разных баз используется? И какой лимит? Я знаю только на память... Раз твой скрипт никто не покупает может покажешь исходники... мне стало интересно что ты называешь качественный запрос
в файлообменнике нету сложных отчетов, поэтому и запросов больших там не может быть, самый крупный запрос в скрипте это Код (Text): SELECT * , SUM( file.downloaded ) AS total_downloaded, count(file.downloaded) as total_count FROM fileup_model_user AS user LEFT JOIN fileup_model_file AS file ON file.user_id = user.user_id GROUP BY user.user_id ORDER BY total_downloaded DESC LIMIT 20 самый большой запрос в моей практике это http://dumpz.org/300708/ Код не покажу :b, покупайте, увидите)
кто купит твоё поделие, если ты хамишь на простые вопросы? Добавлено спустя 48 секунд: и самый глупый наверное...
нет. совет почитать книжек в данном случае это чистое хамство. раз. два - вопрос остается открытым, зачем вам три соединения? три. ты вышел со своим поделием к людям. люди задают вопросы. не будешь отвечать - не будут покупать. кому нужен кот в мешке.
Все просто, если не закрывать соединение после запроса, то соединение будет еще висеть, пока БД сама его не закрое (конфиг БД), я отказался от этого и теперь закрываю ненужные соединения, в результате запросов - зомби уже нет. Сейчас сделал хорошую фичу: Максимальный размер файла для загрузки различается для гостей и для пользователей, для гостей он задается в конфиге сайта, а для пользователей в БД, в таблице пользователя (тоесть можно увеличивать конкретному пользователю). Далее для пользователей создал КВОТУ на загрузку файлов, сейчас она 1гб, так же можно её расширить. Другими словами появилась платформа для доната, пользователи смогут расширять макс размер загружаемого файла и макс размер хранилища, сам донат пока не реализован. Функционал скрипт возрастает, цена пока остается прежней, потом конечно подниму, когда реализую донат и вашу плюшку про процесс загрузки файла.
о,да Добавлено спустя 1 минуту 30 секунд: вас это пугает? чем вы пользуетесь для подключения к бд? PDO, mysqli, функции?
меня это не пугает, для меня это просто стало проблемой, потому что у меня бесплатный хостинг, на нем много ограничений, а мне нужна платформа для тестирования, я просто подстроился под бесплатный хостинг, чтоб не платить, всё просто, да и висячие запросы никому не нужны, их отключение только в плюс скрипту
речь видимо о mysql persistent connection http://goo.gl/tNz9l9 (наябываю здешний парсер) эта штука неприятна еще и тем, что в каких-то случаях транзакция тоже остается открытой. фуфуфу!
Не только pconnect опасен, pconnect держит соединение пока другая сторона напрямую его не закроет, а обычное соединение держит коннект пока таймаут из конфига не сработает