Ответы пользователя по тегу PHP
  • Как вывести данные из БД в массив (PHP)?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Понял как вывести данные с БД
    И как? Не вижу кода который у вас что-то вообще запрашивает из бд. БТВ данные из бд приходят обычно в виде массива (есть нюансы, но в целом так).
    Ответ написан
    4 комментария
  • Как удалять ненужные изображения загруженные с помощью TinyMCE5?

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

    В целом "хороших" решений при таком подходе к загрузке особо нет, все они требуют как минимум парсинга текста, что само по себе не очень красивое решение.
    Ответ написан
    2 комментария
  • Как правильно сделать строку в UTF с заглавной буквы?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    При обращении к строке как к массиву вы не получаете "буквы", вы получаете байты, которые, в немультибайтовой кодировке, можно принять как текстовые символы. Так как утф8 - мультибайтовая кодировка с переменной "длинной символа", такой фокус с ней не проходит, работайте со строками только как со строками и все будет нормально.
    Ответ написан
  • Как организовать групповое изменение размеров фото на сайте?

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

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

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

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

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

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

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    <button name="buy" type="submit">buy me now!</button>
    Ответ написан
    Комментировать
  • 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.
    Ответ написан
  • Прерывается длительный php-скрипт запущенный через cron?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Цикл не закэшируешь, конечно, а результат можно, нарпимер используя serialize(), если там действительно объект.
    Ответ написан
    3 комментария
  • Почему php-скрипт, запускаемый через cron, работает иначе, чем скрипт, запущенный в веб-интерфейсе?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Для cli и веб окружения обычно разные php.ini используются, достаточно посмотреть phpinfo() из веба и из консоли, чтобы увидеть разницу в настройках.
    Как вариант дергать скрипт кроном через wget. Получится как через веб
    Если не ограничить запросы на этот урл по ип/ключу/порту или как то иначе, рискуете получить дыру для ддос.
    Ответ написан
    Комментировать
  • Как изменить данные в json по клику на ссылку с использованием php и мб нужен js или jquery ajax?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Похоже на задание...
    1) Для записи нового значения соответственно в вашем массиве $result находите элемент с нужным и увеличиваете значение просмотров на единицу. Сохраняете файл обратно в жсон.
    2) Для не повторения увеличения от одного пользователя используйте куки, пишите в них массив уже посещенных id и при повторе не добавляйте просмотр.
    Ответ написан
    Комментировать
  • Какой способ лучше защитит пароль?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Я понимаю что в гамаке и стоя интереснее, но все же - 2 вопроса: Зачем и нахрена?
    Ответ написан
    2 комментария
  • Как правильно собрать текстовые данные в массив методом $_POST?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Есть вот такая форма.
    Где там форма то?

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

    update_post_meta(...
    Смахивает на вордпресс или подобный божественный код. Указывайте в тегах вордпресс, чтобы народ сразу не пугался такого всратого кода.

    Вообще, вы бы описали чуть более подробно что вы реализуете столь гениальным способом, возможно вы ищите не то и не там...
    Ответ написан
  • Почему PHP не видит POST запрос на ajax?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Такой же отрезок кода работал на другом "проекте", но здесь никакой реакции на пост нет.

    А какая есть? Что у вас выполняется вообще? какие ошибки в консоли?
    Есть ошибки в логе пхп?
    По скрину вообще похоже что у вас этот урл не верно работает и перекидывает на индекс в дашборд.
    Ответ написан
    5 комментариев
  • Где можно получить повышение квалификации backend разработчику?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Зачем такие сложности? Вы же тупо 1 слово на другое меняете? Зачем все это парсить?
    Ответ написан
  • Доступ к измененному свойству родительского класса?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    В методе get() класса A мы изменили свойство $age на 10, однако при вызове данное изменение игнорируется

    1) Как вы это узнали? )
    2) Путаете понятия класса и объекта (экземпляра класса).
    Ответ написан
    Комментировать