Задать вопрос
  • Как менять картинки у карточки в списке товаров?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    нужно взять любой слайдер.
    по умолчанию на мобильных он будет работать как слайдер - перелистывать слайды-картинки
    на десктопе поверх всего слайдера растягиваете блок с dots pagination (точки для листания слайдов). стилизуете их, делая полностью прозрачными. и добавляете к ним обработчики наведения мышки. в обработчике определяете точку на которую навелись и переключаете слайдер к нужному слайду.

    если говорить о swiper то вот пример hover-навигации Как менять слайд SwiperJS при наведении?
    Ответ написан
    Комментировать
  • WEBAUDIO Почему сигнал с искажениями как настоящий?

    selevo
    @selevo Автор вопроса
    ниепкп
    Мне на сайте Overflow ответили что на самом деле генератор не генерирует прямоугольный сигнал, он его имитирует, математически вычисляя, из некоторого ограниченного количества синусоид.
    Ответ написан
    Комментировать
  • Есть ли разница кто будет обрабатывать оплату на сайте - фронт или бек?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Это надо делать на бэке по разным причинам. Как минимум одну ты уже сказал - не надо палить секретный ключ.

    Можно придумать 2 причину - отвал клиента: представь, что после оплаты клиент отвалился. Что будет?
    - Токен подтверждения оплаты потерян
    - После перезагрузки кэш браузера очистился

    В итоге деньги потратились, но информации об этом ты не получил. Все потерялось - только ручками эту информацию у провайдера оплаты получать и чинить.

    Если бы это сервер обрабатывал, то можно было бы какой-нибудь trace id сохранить в БД и быть уверенным, что даже если отвалишься, то в будущем сможешь проверить статус оплаты.
    Ответ написан
    4 комментария
  • Как сделать мигающее уведомление во вкладке браузера?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    var titleState=0;
    setInterval(()=>{
    document.title=titleFlag?"Мигающий":"заголовок";
    titleState = titleState?0:1;
    },500);
    Ответ написан
    2 комментария
  • Как организовать хранение фотографий для сайта?

    @dimuska139
    Backend developer
    Загружайте файлы не в папку, а в s3-совместимое хранилище (чтобы при желании можно было без страданий и изменений в коде перейти на Amazon или в Linode какой-нибудь) - MinIO. Т.е. генерируете некий id, превращаете его в хеш, формируете ключ и по нему льёте в MinIO. Причём храните только оригиналы.

    Что касается миниатюр, то их нарезать и хранить не нужно. Представьте, если размеры в дизайне поменялись - что тогда? А если для каждой миниатюры webp-версия потребовалась - все картинки опять обрабатывать? Есть решение - imgproxy. Это специальный прокси-сервис (можно на свой сервер поставить, как и MinIO), который нарезает картинки "на лету" в момент обращения (по параметрам в url). Кроме нарезки, есть ещё куча разных возможностей. Кеша внутреннего нет, т.е. перед imgproxy есть смысл поставить Nginx для кеширования миниатюр (чтобы при каждом обращении не нарезало).
    Ответ написан
    7 комментариев
  • Вывод ошибки размера изображения через php, если размер картинки больше 5 мегабайт, как проверить?

    @artem-dainov
    Php, java, js. Boot spring, jquery, git
    Никогда не доверяйте тому, что пользователь вам присылает. Знаю, что $_FILES можно подменить.
    Есть такая функция, в php, filesize()
    Используйте её для проверки, что-то подобное.

    <?php
    $max_size  = 1024*1024*5; // Один килобайт имеет 1024 байт. Их умножаем и получаем мегабайт. Далее умножаем на пять.
    $tmp_size = filesize($_FILES['file_img']['tmp_name'][0]);
    if ($tmp_size>$max_size) {
     echo "Ошибка, ваш файл привышает 5 мб"; exit();
    }
    ?>


    Как-то так. И еще один момент. Если вы позволяете другим пользователям загружать картинки на сайт, то это не последняя проверка с размером файла. Еще нужно проверять, не вредна ли картинка.
    Ответ написан
    Комментировать