Задать вопрос
Ответы пользователя по тегу PHP
  • Как сделать ассихронную запись в файл на php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    file_put_contents(__DIR__ . '/testfile.txt', 'Start ' + $_GET['id'], FILE_APPEND | LOCK_EX);
    sleep(5);
    file_put_contents(__DIR__ . '/testfile.txt', 'End ' + $_GET['id'], FILE_APPEND | LOCK_EX);

    или накапливать данные в переменной, затем заносить скопом.
    Ответ написан
    Комментировать
  • Распознавание голоса php+js?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Пример такого сервиса Speechpad.

    с сайта сервиса:
    Установка флажка Отключить управление заглавными буквами Google отменяет простановку заглавных букв анализатором Google.

    что говорит об использовании гугл спич апи.
    Ответ написан
    Комментировать
  • Массив из input нужно отправить через ajax, принять, и записать в базу?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    var video = $("input[name='video[]']").val();

    на сколько я понимаю (не суперспец в жс) здесь вы получаете одно значение, не массив значений. Я не уверен какое, первое или последнее, но точно не массив всех значений из инпутов. По идее вообще должно выдавать ошибку, но это можно проверить выведя в консоль что там у вас получилось в video. Соответственно получить все инпуты в массив, а затем уже к каждому в форе применять .val(); В итоге получить массив, как его отправлять уже вопрос вкуса, имхо проще зажсонить и отослать как строку, где и распарсить.
    Ответ написан
    3 комментария
  • Какой инструмент можно использовать для логирования вызовов небезопасных/подозрительных функций PHP?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    пхп ини настроить:
    default_charset = "utf-8"
    Ответ написан
  • Не работает счетчик просмотров поста?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Как и везде, есть несколько путей, например:
    * Крон каждые 10 минут, это будет не большая нагрузка и не думаю что игровая механика поломается если вещь продастся не через час, а через час и 5 минут.
    * Не делать крон, а при очередном запросе списка вещей проверять на наличие "устаревших" шмоток и автоматически менять на деньги. Тогда нагрузка будет более выборочной, "размазанной" во времени, + у вас все равно будет запрос к шмотке, тут ее и обрабатывать, сэкономите кучу запросов и ресурсов.
    Ответ написан
    Комментировать
  • Отправка с формы в 2 столбца?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Как связана отправка полей и вставка в базу?
    (Ответ - НИКАК)
    Ответ написан
    Комментировать
  • (PDO) Ошибка при подключении к MySQL?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Чет я не понял -
    сейчас реализовано именно путем хранения и обработки массивов
    - храните данные в пхп? В файлах? или... Не понятно кароче.

    Мне видится в любом случае бд(мускуль, как наиболее распространенный, например) с отдельными таблицами на ваши массивы, пхп неплох для такого в качестве бэкенда, если нужно что-то чтобы мегабыстро работало - кеш в редис. Это достаточно стандартная связка, не вижу смысла что-либо изобртать по новой.
    Ответ написан
    Комментировать
  • Вопрос про ООП, как использовать?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вот, например, надо сделать простейшую фотогалерею.
    На вашем примере, что бы было понятно на пальцах, заранее прошу прощения у присутствующих за примитивизм. В данном случае у вас будет коллекция объектов, которая тоже объект, это как массивы, если примитизировать понятия до упора, одни могут быть вложены в другие. Делаете допустим так:
    $image= new Image(); //создаем пустой объект имаж, чтобы иметь его настройки(таблица, поля...)
    $gallery = new Collection ($image); //создаем новую коллекцию объектов типа имаж, пока пустую.
    $gallery->getCollectionByField(array("galleryid"=>"64")); // инициализируем из базы, используя
    // ид галереи, теперь в гэлери одной строчкой мы загрузили все картинки в свойство (например),
    // $gallery->collection  и можем к ним обращаться как к элементам массива, и в свойстве
    // $gallery->collection[1] будет объект типа $image. Как вариант реализации.

    Куча кода остается в объекте, для вас это "черный ящик", видны только входы и выходы, все что внутри скрыто, но работает как надо, т.к. разбито на методы и отлажено по кусочкам.

    Что касается статики - как говорится в любом нормальном источнике - статики нужно избегать по максимуму, на это есть несколько причин:
    - статика загружает оперативку, т.е. статические объекты создаются всегда, не зависимо от необходимости их использования
    - статика плохо поддается тестированию, не всегда, но часто, т.к. глобальная область видимости приносит проблемы пересечения зон ответственности методов, часто это нарушает SOLID, особенно если тыкать статику везде. Почитайте, посмотрите как должен выглядеть нормальный код в объектах - вам понравится.

    ps:
    ваш код - почему бы не писать так:
    $post=BLOG::getPost($айди_поста);
    // меняем 
    $post = new Post($айди_поста);
    
    echo $post['content'];
    // меняем 
    echo $post->content; // не обязательно так, может вот так:
    echo $post->getContent(); // тогда при выводе можно будет сделать какую-то предварительную обработку, 
    //заменить тэги, еще что-то...
    
    $comments=BLOG::getComments($айди_поста);
    // меняем
    $comments = new Comments($post);
    echo $comments->getTree(); // хотя тут скорее всего от вьюшки зависит, я бы тут возвращал не 
    // строку, а массив для итератора, это правильнее для разделения на мвц, мухи отдельно - 
    // котлеты отдельно, в смысле код и хтмл.
    Ответ написан
    Комментировать
  • Как сделать правильную обработку формы в данном случае?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Слушайте, ну уже пхп7 вышел, уже пхп4 10 лет как не актуален, НУ ОТКУДА ВЕСЬ ЭТОТ МУСОР ИЗ 90х??? Неужто так сложно прочитать про ооп и мвц, ну пусть мвц не сразу, но хоть понятие объектов, вы же такой говнокод небось еще и в рабочем проекте использовать будете? Вам же нужно как-то потом людям в глаза смотреть! Не стыдно?
    Ответ написан
    2 комментария
  • Как экспортировать данные с сайта в текстовый файл?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Ответ написан
    Комментировать
  • Есть ли PHP-библиотека для поиска в JSON с помощью SQL-запросов?

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

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Просто не надо пытаться делать того что не понимаете, в смысле - сначала поймите как оно работает, потом пишите. Методом тыка можно писать только мегаг*внокод.
    Ответ написан
  • Что за непонятные ошибки в PHP и Апаче?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    если очень в лом каждый раз набивать, задайте линк с логином и паролем:
    http://user:password@www.example.com
    выдайте каждому юзеру и спите спокойно, если секюрити не так уж критично.
    Ответ написан
    Комментировать
  • Как обособить динамический css и javascript?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Бывает что при разработке приходится делать стили и скрипты динамическими.
    это редкая и странная практика.
    или это все из-за плохих решений в процессе разработки и можно по-другому?
    именно так, обычно одного - двух файлов стиля хватает для всего. Если это кастомные настройки странички пользователя "под себя" - да, можно сделать что-то типа
    <link href="/customcss.php?mode=vasea" rel="stylesheet" type="text/css" media="all">
    для нескольких настроек, которые перекроют стили из основных файлов, но это реально редкий случай.
    Ответ написан
    Комментировать
  • Как заглушить php скрипт запущенный без ограничения работы по времени?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    запускать в отдельном процессе, при необходимости килл процесс. Днями тут пробегал такой вопрос, как получить пид процесса для килл, вроде и решение есть.

    Не понятно что за "возникает потребность"? Или он долго работает(дольше чем хочется) и тогда нахрена выключать таймаут скрипта, или вы хотите чтобы он типа работает, и "ой, чет долго, СТОП МАШИНА!" и он раз и остановился. Так не канает, поезд заголовок уже ушел.

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