Как удалять неиспользуемые изображения?

Тема в разделе "PHP", создана пользователем Doctor_zlo, 9 янв 2014.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Doctor_zlo

    Doctor_zlo

    Moderator
    Регистр.:
    25 апр 2008
    Сообщения:
    461
    Симпатии:
    978
    Суть есть wysiwyg редактор который добавляет комментарии, через редактор можно добавлять изображения к комментариям. Пользователь при написании коммента, может загрузить скажем 5 изображений из которых в комменте будут использоваться 3. Надо удалить 2 неиспользуемых изображения.
    Текст комментария с изображениями хранится в бд в виде html
    Код:
    Текст текст <a href=/img/2014/01/full/1.jpg><img src=/img/2014/01/thumb/1.jpg> далее текст текст и прочее
    
    Тут мне видится варианты,
    1. при создании коммента, создавать временную папку, загружать туда изображения, когда коммент написан, вытаскивать регуляркой те картинки что есть в комменте, копировать в постоянную папку, временную папку вместе с файлами удалять.
    2. кидать все загружаемые картинки в постоянную папку, когда коммент написан, вытаскивать регуляркой те картинки что есть в комменте, и записывать их в отдельную таблицу. запускать скажем раз в сутки скрипт которых берет из таблицы список картинок, и вычищает того что не нужно.(второй вариант мне видится проще в реализации.)
    3. еще что-то посоветуете?
     
  2. Viodele

    Viodele Механик

    Administrator
    Регистр.:
    17 дек 2011
    Сообщения:
    110
    Симпатии:
    479
    Нумер два, только делать это во время сохранения комментария. Также разобрать загрузку картинок с т.з. безопасности. Как вариант, заменять имя картинок на хеши, а в определенную таблицу БД писать оригинальное имя картинки, хеш. Индексом сделать id записи в БД, а для обращения к картинке написать контроллер, который по указанному id возвращает нужный контент.
     
  3. lemurinesh

    lemurinesh Создатель

    Регистр.:
    4 дек 2013
    Сообщения:
    2
    Симпатии:
    0
  4. Doctor_zlo

    Doctor_zlo

    Moderator
    Регистр.:
    25 апр 2008
    Сообщения:
    461
    Симпатии:
    978
    Все-таки решил создавать временную папку, с возможностью загрузки туда не более X картинок, и удалением папки при создании коммента
    Картинки при загрузке будут проверятся ресайзится, переименовываться, выполнение php в папке с картинками будет запрещено.
    По поводу отдавать статику скриптом, несколько опасаюсь в плане лишней нагрузки.
     
  5. dwarf

    dwarf Постоялец

    Регистр.:
    12 июн 2011
    Сообщения:
    88
    Симпатии:
    18
    Но DOMDocument медленнее и завязан на валидность html. Регулярка универсальнее и отказоустойчивее.
     
Статус темы:
Закрыта.