title
Description
Body
Дописал, наконец, свой микроГовноЗагрузЦентр. Ура!
- - - -
Отрываю от сердца...
Пример: tipsun.h2m.ru
Отредактировано tipsun (2011.05.02 17:18)
Неактивен
Потом поправлю, на сегодня достаточно говнокода...
- - - -
Как обычный файл мр3, даже иконка не будет меняться... Никакой дополн. инфы.
- - - -
Со временем исправлю ошибки, надеюсь... Если конечно подскажут тут. По функциональности может ещё добавлю туда сортировку сначала папки, потом файлы и ещё сортировку по времени размещения или имени файла. Этим всё и ограничится.
Отредактировано tipsun (2011.04.27 23:21)
Неактивен
Закинь в директорию какую нибудь мп3 мелкую))))
Добавлено спустя 1 минуту 13 секунд:
tipsun написал:
Потом поправлю, на сегодня достаточно говнокода...
- - - -
Как обычный файл мр3, даже иконка не будет меняться... Никакой дополн. инфы.
Аааа,интересно прост было)))как будет выглядеть мп3шка))
Неактивен
Хотел спросить, как сделать раздельно показ сначала папок потом файлов в определенной папке?
Я это представляю как отдельное условие :: if(is_dir()){} :: при сканирований папки. В один массив заносить имена папок, потом сортировать по имени. И массив с именами файлов сортировать по усм. пользователя. Потом всё это обьединить :: array_merge() :: и посчитать :: sizeof() ::
Неактивен
Поправил, слегка
|
|
Ну хотел чтоб при вводе только '_', '/', '.' и т.д. тоже была типа ошибка. Правда после '/' не будет уже работать это правило... ну и ладно...
Переделал ::foreach:: на ::for::
Ну и реализовал показ сначала папок, потом файлов.
- - - -
Перезалил архив.
Отредактировано tipsun (2011.04.29 20:35)
Неактивен
Для этого надо отдельный файл писать (about.php к примеру), база (ну можно и файлами обойтись, но это совсем говнокод, вроде как).
- - - -
Сейчас старый говноЛистинг свой поковыряю, может и получится сделать...
Отредактировано tipsun (2011.04.29 21:32)
Неактивен
Как сделать?
1) Сканировать только папку, и показывать сколько именно в ней файлов.
2) Сканировать папку и все находящиеся в ней папки, и показывать сколько всего файлов содержит данная папка. Нагружает сервер, если базу не использовать или мемкэш, которым я не умею пользоваться.
С базой можно типа сканировать, после занести в базу количество файлов и время, при истечении которого начнется повторное сканирование.
Отредактировано tipsun (2011.04.29 22:19)
Неактивен
Доделал примитивнейшую статистику...
Осталось функцию подсчета количества файлов в папке написать...
Когда-то писал, поэтому думаю не очень долго буду писать в этот раз
- - - -
ещё поправил извлечение расширения файла, оказывается это делается при помощи ::pathinfo()::
Отредактировано tipsun (2011.04.30 17:01)
Неактивен
Мда, как задумал не получилось, переделал на одну такую зафигулину... Потом узнаете/поржете
Ну мне эта идея кажется не плохой.
- - - -
Да ладно, чего говнокод таить
sys/funs.php
|
|
При прямом выводе не работает header();
А так на 1 инклуд меньше... И вообще удобно вроде...
- - - -
Скоро выложу новую говноверсию...
Отредактировано tipsun (2011.05.01 14:12)
Неактивен
Фух
- - - -
Про "время актуальности" забыл... епт
- - - -
Поправил...
|
|
Отредактировано tipsun (2011.05.02 09:21)
Неактивен
Подскажите пожалуйста, печально ли будет если я ограничу прием адреса папки до
|
|
. Точка все портит. Из-за нее приходится дополнительно лепить защиту.
Отредактировано tipsun (2011.05.02 09:27)
Неактивен
Ну по-моему лучше сразу ограничить один раз прег_матчем чем потом везде на спец символы обрабатывать, точки учитывать... Если не учитывать, то в базу урл будет записываться с точками... Ну т.е. вроде одно и то же для ::is_dir():: , а в базу идет со всем этим мусором... /./././
этот мусор потом чистить... А так надо будет перед занесением только повторяющиеся слеши убрать.
Отредактировано tipsun (2011.05.02 09:12)
Неактивен
Как я запарился с этим говнозагрузником...
Дырку тоже закрыл. С ::$page:: связана была в index.php
- - - -
Добавил последнюю версию.
Посмотрите пожалуйста, кто не занят делом, если ли ошибки/дырки...
Отредактировано tipsun (2011.05.02 16:36)
Неактивен
ну по коду я незнаю,но так ошибок нету,считает норм))С такими темпами ты уже из зц напишешь полноценный загруз центр)))если будешь его еще дополнять чем-то,или делать его более крупным,то небольшая просьба,если можешь то сделай чтоб делало скрины с flesh а то сколько я смотрел зц,не один не делает скрины с flesh файлов)))))себе поставлю твой зц для картинок)))
Неактивен
Ну не знаю. Я оказывается неправильно код пишу.
Akdmeh отозвался на другом форуме, за что ему спасибо. Он написал, что у меня неправильный подход к построению кода.
Я теперь вообще растерян...
Отредактировано tipsun (2011.05.02 20:18)
Неактивен
Хочу попробовать написать загрузчик, который бы не относился к говнокоду.
Есть 2 мысли:
1) Читать прямо с папок, но кешировать страницы.
2) Читать с базы, может еще и кешировать страницы.
- - - -
Таблица с файлами и папками выглядит так:
|
|
Добавлено спустя 5 минут 29 секунд:
Может стоит сделать как на форуме, после того, как просканировал, переименовывать файл в <md5>.ext чтоб вести статистику скачиваний итд. А еще есть и ссылки =/
Неактивен
Я заглядывал в sea, но базу я вроде не смотрел. И то я заглядывал, чтоб посмотреть как там сканирование идет.
Добавлено спустя 1 минуту 41 секунду:
Gemorroj написал:
необходимо еще хранить id родительской категории.
Ох, ну озадачил, так озадачил. =/
Добавлено спустя 9 минут 16 секунд:
Да, а то такая же папка может быть в другой категории и получится каша.
Неактивен
Вот выдал мой мозг загагулину, не уверен что верно.
|
|
Неактивен
Тут еще проблема, что при большом кол-ве файлов, получится огромный SQL запрос. А в MySQL есть ограничение на максимальную длину пакета. Не помню сколько там по умолчанию уже, но упереться в нее можно вполне элементарно, я уприался. Т.к. не всегда есть возможность переконфигурять настройки mysql сервера, нужно разбивать большие запросы на несколько частей.
Добавлено спустя 15 секунд:
https://dev.mysql.com/doc/refman/5.5/en … large.html
Активен
Разбить можно ориентируясь на запятая + перенос.
- - - -
Либо сделать массив строк, и их объединять в кол-ве 15-20 например.
Добавлено спустя 4 минуты 10 секунд:
Но это все говнокод, ибо прежние записи не будут иметь смысла.
Кто-то сохранит ссылку на файл, а он уже удален, либо попадет на другой файл.
Неактивен
Привел в порядок набросок:
|
|
Неактивен
tipsun, в данном случае (InnoDB) можно вообще, на каждый файл делать отдельный инсерт и просто обернуть цикл в транзакцию. И еще использовать PDO с подготовленным вне цикла запросом.
Активен
ПонЭл принцип, как у меня это все будет.
Сканировать и сверять так же буду, как в sea, а насчет добавления, там будет принцип лесенки.
Самое главное, чтоб получилась эта лесенка, чтоб плавная была.
Остальное за pdo->lastinsertid(). Дальше мысля пока не пошла.
Добавлено спустя 3 минуты 58 секунд:
Еще понял, что надо бы полный путь сразу указывать, чтоб потом не мучаться. Отдавать все-равно буду через одну точку, значит локального пути хватит вполне.
Добавлено спустя 9 минут 59 секунд:
Можно даже без pdo->lastinsertid, ибо по принципу лесенки, эта папка уже будет в базе.
Неактивен
Можно 1 циклом обойтись, в функцию подготовленный prepare запихать и вперед.
- - - -
Надо еще с путями разобраться и parent_id
|
|
Отредактировано tipsun (2013.02.01 12:27)
Неактивен
УРА!!!
|
|
Неактивен
Насчет физически несуществующих файлов, можно в принципе оставить эти записи.
Просто, если человек наткнется, то проверить один раз на существование файла/папки, если нет, то удалить все вложенные папки/файлы.
Отредактировано tipsun (2013.02.01 22:23)
Неактивен
http://stackoverflow.com/questions/5884 … eigniter-2 посмотри тут. я с CodeIgniter не работал.
Активен
tipsun, Phalcon означает, что на говнохостингах работать оно не будет. Если ты изначально определяешь, что работать будет только на VDS или выше, где можно поставить нужные PECL модули, то можно попробовать.
Активен
Новый адрес хранилища. С прежним что-то случилось. Я не стал заморачиваться и по-новой создал.
Теперь там только модули будут к Yii.
Неактивен
Наконец разобрался в этом Yii чпу rules.
Неактивен
сравниваю с роутами симфони2
|
|
надеюсь по синтаксису понятно, что там происходит. По-моему у симфони2 роуты покрасивее
Активен