Задать вопрос
  • Как исправить ошибку валидации типа загруженных файлов?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    У вас что-то не совпадает, в расширениях отсутствует jp2, а в типах image/jpeg.
    Ответ написан
  • Какую CMS использует habrahabr или какое рабочее окружение у Хабр?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Какую CMS
    Сильно сомневаюсь что хабр/тостер используют готовую цмс, во всяком случае было бы весьма странно узнать что внутри какой-то вордпресс или октобер. Скорее всего что-то на движке типа Симфони или Зенд, точнее вряд ли кто-то скажет, разве что историей развития Хабра поделятся сами разрабы.

    ЗЫ: раньше было так: https://habr.com/ru/post/36692/
    Ответ написан
    1 комментарий
  • Как организовать групповое изменение размеров фото на сайте?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    одно и тоже имя оставлять в папках, соответствующих каждому размеру?
    Очевидно же что рано или поздно вы перезапишете какую-то фотку, так как такое имя уже будет загружено (типичный пример без имени(1).jpg). И да - для каждого размера своя папка. Кроме того, часто имена фоток бывают на русском языке, с пробелами, в разном регистре, что для веба не очень хорошо. Фото надо переименовывать. Есть 2-3 варианта, которые зависят от условий. Самый простой и очевидный, подходящий для одной фото на объект - имя будет соответствовать идентификатору объекта (товара в вашем случае). Если их больше одной - можно использовать
    а) идентификатор + _микротайм после точки,
    б) хеш микротайма / идентификатора + _микротайма после точки,
    в) просто микротайм
    г) любой другой алгоритм, гарантирующий высокую уникальность и совместимость с вебстандартами.

    Хранить стандартный вариант в жпег, так же можете добавить вебп, на радость гуглу. Для ог лучше использовать жпег, так как не все соцсети нормально понимают вебп, так же все еще есть проблемы с некоторыми браузерами, например сафари не всегда нормально его понимает.

    Для вывода изображений используйте <picture>, в котором задайте приоритеты вывода и размерность.
    Ответ написан
    3 комментария
  • Для каких полей вы бы предложили установить index?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Все поля, которые используются в сравнениях, группировках и сортировках.
    Ответ написан
  • Является ли нормой работа без ТЗ?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Варианта 2:
    1) Раздолбайство, и нормальным выходом будет типовое тз, простенькое, но с 90% описанного функционала через юзкейсы. Предложите, возможно даже зайдет.
    2) Заказчик платит за валерьянку и время по общему тарифу, так что фирма в шоколаде полюбому.

    Сложно сказать что конкретно в вашем случае. Оба варианта существуют в любой стране и больше зависят от руководства фирмы, чем от локации.
    Ответ написан
    Комментировать
  • Как сделать поиск по регулярному выражению SQL?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    TL;DR: переписывайте базу пока не поздно. Приводите в 3 нормальную форму и будет вам "щастие".

    1) Хранение данных по которым идет поиск в таком виде - это сразу расписаться в своей проф. непригодности, никому не показывайте эту стыдобу.

    2) Разнесите данные нормально по таблицам, не думайте что вы прям "выкрутились" захерачив все в строку и у вас все в шоколаде. Нифига, теперь у вас по этому полю будут кошмарно тормозные запросы, так как самые медленные операции - это лайк и регексп. Тем более по полю с переменной длинной и без нормальных индексов. И все это вместо суперскоростного индекса по интежер полю.

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

    4) ну и на одну из проблем вы уже напоролись - поиск по нечетким данным даст нечеткий результат.
    Ответ написан
    8 комментариев
  • Как узнать сколько было показов/переходов по картинке на сайте?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Необходимо узнать сколько было показов иллюстрации и сколько было переходов на страницу с иллюстрацией.
    На техническое описание не похоже... Считайте просмотры страниц с иллюстрациями, все остальное бред и статистический мусор, вы скорее потонете в его объеме, нежели что-то толковое для себя выведете. Если просмотры это увеличение изображения по клику и вам их надо прям вот посчитать - тупо аяксом при клике отсылаете айди иллюстрации на какой-то свой счетчикКонтроллер и зачитывайте "интерес"... А так - фокус, прокрутка- это все пальцем в лужу...
    Ответ написан
    Комментировать
  • Как правильно делать 2 версии сайта (моб, десктоп)?

    ThunderCat
    @ThunderCat Куратор тега HTML
    {PHP, MySql, HTML, JS, CSS} developer
    Нахрена, а главное - зачем? Современный адаптив позволяет через цсс задать ВСЕ, картинки, стили, расположение блоков, что-то показать, что-то скрыть на определенных разрешениях... Иметь мобильную версию отдельно не рекомендуют и поисковые системы, так как это разбивает трафик на субдомены и еще куча всякого тянется за этим. По этому - медиазапросы, или даже сразу бутстрап или другой адаптивный фреймворк.
    Ответ написан
    8 комментариев
  • Эффективная защита изображений?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    если задача немного усложнить скачивание - делайте изображения бэкграундом для блока, так и позиционирование и ресайз будет проще настроить, и скачать по правой кнопке/тапу не получится.
    Ответ написан
    Комментировать
  • В чем разница между symfony и laravel для начинающего?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    попробовав пописать на ларавел я понял, что он даётся ощутимо тяжелее чем чистый PHP.
    Это по тому что у вас нет понимания ооп в достаточном объеме. Да и "чистый" пхп нифига не проще, если писать что-то чуть сложнее чем "несложный сайтик на классах", и вы быстро потонете в говнокоде.

    Ларавел, как впрочем и другие фреймворки, дает уже готовую структуру, + кучу готового функционала, в том числе и структурированную основу, где у вас основной задачей становится именно дописать немного кастомного функционала, не покрытого внутренними механизмами движка, или отсутствует готовая библиотека под нужную фичу. Далее все сводится к манипуляции готовыми объектами. Что касается выбора - новичку скорее зайдет Лара, так как симфони на порядок сложнее по использованию искаропки, в Ларе же много чего просто уже работает, причем визуально гораздо проще чем в симфони, хотя за фасадами там достаточно такой сложный для новичков код, но обычно туда и не лезут без особой необходимости.

    Симфони сложновата для новичка, так как во первых полностью компонентная, во вторых даже для построения элементарной модели придется достаточно много писать ручками.
    Ответ написан
    2 комментария
  • Объясните пожалуйста принцип медиа запросов?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    Медиа запросы - это способ прописать стили с привязкой к:
    1) Размеру вьюпорта
    2) Ориентации
    3) Устройству
    4) возможне еще чему-то, но не суть
    то есть задать некоторые дополнительные условия в которых будут применены/переопределены специфические стили. Важно что все медиа запросы в описании стилей должны идти после основных стилей, в порядке приоритета, где самые "главные" в конце (более нижние переопределяют более верхние).
    Ответ написан
    Комментировать
  • Как проверять передаваемые значения и выводить ошибку?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    По уму - в контроллере передается объект запроса в в валидатор, и если все ок - передать данные в модель и сохранить, если не ок - выдаем ошибку, как ее выдавать зависит от логики приложения, если запрос аяксом - вернуть ерор в жсон формате и на фронте уже колбэком чета написать юзеру. Если это пост запрос - пишем в сессию, делаем редирект гетом на форму и из сессии достаем ошибки.
    Ответ написан
  • Сортировка mysql?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    1) драйвер mysql_ уже не используется. Деприкэйтед с 5.х и окончательно выпилен в 7.х, используйте mysqli_ или PDO.
    2)
    давно мучаюсь с этим кодом
    Просто не надо мучиться, надо читать документацию, в ней все есть, смотрите ORDER BY выражения.
    3) Так писать запросы не желательно, у вас (скорее всего) невалидированые строки напрямую попадают в запрос, это прямой путь к инъекции. Используйте подготовленные выражения.
    Ответ написан
    1 комментарий
  • Как добавить карту на сайт html с возможностью выбора места?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    API не пробовали смотреть?
    Ответ написан
  • Как изменить название на кнопке input?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    <button name="buy" type="submit">buy me now!</button>
    Ответ написан
    Комментировать
  • Как исправить ошибку в базе данных (MODIFY `ID` int(11) NOT NULL)?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    there can be only one auto column and it must be defined as a key - что конкретно не понятно в этой фразе?
    Ответ написан
  • Is there any more easy and short version for array sorting?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    It's not about sorting, in your case is kind of filtering, so array_filter() must be used instead of this code. Or array_map() if u need all values modify and return.
    Ответ написан