• Преобразовать строку чисел через запятую в отдельные int или как сохранить состояние checkbox'ов?

    kimono
    @kimono
    Web developer
    Делать вам нечего, чесслово. Используйте метод GET для формы, а не POST. А на странице в зависимости от того, есть параметр в строке атрибутов или нет - ставьте чекбокс чекнутым или нет.
    Например:
    $url = 'http://mydomain.com/news?page=2&checkbox1=1&checkbox3=1';

    HTML:
    <input type="checkbox" name="checkbox1" value="1" <?= !empty($_GET['checkbox1']) ? 'checked="checked"' : null ?> />
    Ответ написан
    Комментировать
  • Правильное хранение изображений на сервере

    nikel303
    @nikel303
    Можно хранить имя файла (good.jpg) и тип картинки (goods), например картинка товара, на основе этой информации строить путь, так, как вам угодно, например:
    /media/origin/goods/g/go/good.jpg
    /media/origin/goods/t/to/tovar.jpg

    Если нужно сохранить картинку с таким же именем, то в конец дописываем индекс, например:
    /media/origin/goods/g/go/good.jpg
    /media/origin/goods/g/go/good__1.jpg
    /media/origin/goods/g/go/good__2.jpg

    Подпапки после типа картинки /g/go/ нужны, чтобы в одну директорию не сваливалось слишком много файлов.

    Если в качестве имени файла используются цифры (напрмер - это индексы записей в базе), то подпапки лучше формировать с конца имени файла, например:
    125.jpg -> /5/2/125.jpg
    126.jpg -> /6/2/126.jpg
    это позволит более равномерно распределять файлы по папкам.

    Такой вариант позволит в будущем изменить место хранения картинок, поменять логику формирования пути к картинке, и т.д.

    Закешированые картинки соответственно будут храниться, например, по такому пути /media/cached/goods/<название пресета (200x120r)>/go/g/good.jpg

    Пресет можно формировать, например, на основе ширины, высоты, способа масштабирования, и названия фильтра
    Ответ написан
    Комментировать