ФорумПрограммированиеPHP для идиотов → Возня с менеджером закачки файлов

Возня с менеджером закачки файлов

  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 16 июля 2010 г. 11:24, спустя 25 минут 35 секунд

    мысль правильная, но мне не надо. в реале у меня реестр выдаёт компоненты, т.ч. есть с чего стартовать цепочку ;)
    ιιlllιlllι унц-унц
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 16 июля 2010 г. 14:19, спустя 2 часа 54 минуты 50 секунд

    up

    Хорошее проектирование должно включать примеры использования. Иначе получится мощный класс, который нахуй не нужен. Мировая энтропия увеличится.

    Короче, пример: Форум, форма нового сообщения с возможностью прикрепить файл. Если файл оказался картинкой, в теме должна быть маленькая превьюшка, при клике на маленькой превьюшке должна показаться превьюшка покрупнее, а при клике на ссылку, о чудо, должен скачаться оригинал.
    В каком месте делать превью?
    При обработке POST сообщения? Если требуется несколько видов превью и запостили несколько файлов сразу - это может затянуться.
    В скрипте показа темы? Можно, но, хотя тут лучше подругому, imho. Скрипт должен выдать правильную ссылку на превьюшку и только.

    В апачевском .htaccess или аналогичном месте у других httpd надо настроить правило "если запрос на превью, а его нет - вызвать срипт preview.php"
    preview.php строит превью и дает редирект снова на превью. На этот раз правило не сработает, так как файл уже есть — зацикливания не случится.
    ιιlllιlllι унц-унц
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 20 июля 2010 г. 8:02, спустя 3 дня 17 часов 43 минуты

    Следующий виток.

    Классы:
    class Component — вызов событий (пока не используется), универсальная инициализация
    abstract class FileBackend extends Component — реализует методы вычисления имени файла по маске, mime по расширению и т.п.
    class FileStorage extends FileBackend — загрузка/скачивание файла
    class FileRecordManager extends Component — учет загруженных файлов
    class ImageView extends FileBackend — простейшие операции над картинкой. сохраняет превьюшки по заданному правилу
    class View extends Component — не то чтобы шаблонизатор, но представление помогает выделить

    Превьюшки создаются с помощью mod_rewrite и файла preview.php
    Остальной интерфейс с пользователем list/add/delete/download сделан в index.php






    ιιlllιlllι унц-унц
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 20 июля 2010 г. 10:11, спустя 2 часа 8 минут 44 секунды

    class FileStorage extends FileBackend — загрузка/скачивание файла

    скачка через пых что ли происходит?
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 20 июля 2010 г. 10:43, спустя 31 минуту 59 секунд

    Это вариант, который просто должен быть под рукой. Как добавится авторизация, можно будет создать примеры поинтереснее.
    См. здесь: http://pyha.ru/forum/topic/1527.msg25565#msg25565 (одна из первых моих тем на пiхе)
    ιιlllιlllι унц-унц
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 20 июля 2010 г. 11:43, спустя 1 час 20 секунд

    artoodetoo, было бы лучше сделать как то не задействую внешние настройки…
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 20 июля 2010 г. 11:47, спустя 3 минуты 28 секунд

    сделай
    ιιlllιlllι унц-унц
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 20 июля 2010 г. 11:56, спустя 9 минут 32 секунды

    artoodetoo, ajax ? не?
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 20 июля 2010 г. 12:14, спустя 17 минут 25 секунд

    в мои планы жабаскрипт не входит. а ты можешь все :) кто бы приделал красивую форму загрузки, я бы спасибо сказал
    ιιlllιlllι унц-унц
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 23 июля 2010 г. 7:12, спустя 2 дня 18 часов 58 минут

    надо бы вставить параметр "максимальный размер в пикселах" чтобы вредитель не подкинул бомбу в виде одноцветного GIF огромной размерности.
    ιιlllιlllι унц-унц
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 26 июля 2010 г. 0:24, спустя 2 дня 17 часов 11 минут

    Очередной виток.

    По мелочи причесал код. Добавил реестр для собственного удобства, компоненты от него не зависят.
    Сделал страницу с выбором размера превью. Сделал подтверждение удаления. Сделал контроль максимального размера картинки.
    Сами картинки генерируются по надобности через mod_rewrite и скрипт.

    Обнаружил, что FireFox не любит когда картинка редиректится на скрипт, а скрипт снова редиректит на тот же адрес картинки. Умный, нах! Сделал, что скрипт добавляет таймстамп типа thumb/000/000/001.jpg?3182635

    Если кто загрузит архив на тестирование, отредактируйте config/main.php там baseUrl надо свой ставить.
    ιιlllιlllι унц-унц
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 26 июля 2010 г. 0:53, спустя 29 минут 14 секунд

    Если кто загрузит архив на тестирование, отредактируйте config/main.php там baseUrl надо свой ставить.

    можно ж автоматом получать
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 26 июля 2010 г. 6:17, спустя 5 часов 23 минуты 37 секунд

    можно. в предыдущих версиях так и было, сейчас в конфиге :)
    ιιlllιlllι унц-унц

Пожалуйста, авторизуйтесь, чтобы написать комментарий!