Ответы пользователя по тегу PHP
  • Как постоянно обрабатывать события на php?

    @dredd_krd
    У PHP есть функция, выполняемая в коде: set_time_limit ( int $seconds );. При передаче 0 в параметре конкретно этот скрипт будет жить вечно, пока не появится фатальная ошибка/не крашнется, и т.п..
    Конечно, реализовывать через PHP таких демонов не комильфо, но в качестве исключения ничего плохого в этом не вижу. PHP так же может реагировать на сигналы, умеет управлять своим процессом почти как настоящий демон, поэтому реализовать вполне реально.

    Второй вариант - запускать скрипт постоянно по крону (или по планировщику в виндах), но при единственной проверке в коде, проверки эти будут проходить каждую минуту, что может не подойти (зависит от задачи).
    Я бы написал демона с бесконечным временем выполнения и первое время мониторил бы его работу каким-нибудь другим скриптом, чтоб убедиться, что оно летает и не падает.
    Памяти/процессора он жрёт не много, фактически работать всё будет. А то, что PHP для этого не используется - это просто издержки программерских религий :)
    Ответ написан
    6 комментариев
  • Добавление записей к существующей записи в mysql?

    @dredd_krd
    Для изменения строки делается UPDATE, для добавления - INSERT. Вот видимо здесь имеют место попытки именно добавить, а не изменить запись.

    Если же уникальность должна придавать связка слово-страна, то рекомендую добавить уникальный ключ на эти 2 поля, и тогда при инсерте, если такая связка уже существует, поле толкования будет обновляться, а не создаваться ещё одно:
    INSERT INTO `tbl` (`word`, `country`, `interpret`, `translate`) VALUES ('bla', 'bla', 'bla', 'bla') ON DUPLICATE KEY UPDATE `interpret` = VALUES(`interpret`), `translate` = VALUES(`translate`);
    Ответ написан
    Комментировать
  • Как с помощью регулярного выражения или php функции изменить все src, которые содержаться в строковой переменной?

    @dredd_krd
    Если именно "к каждому src необходимо добавить приставку $domen", то
    $description = str_replace("src=\"", "src=\"domen.com/", $description);

    Как раз меняет все вхождения первого параметра на второй параметр.

    Если не нужны сложные правила поиска/замены (например, регулярные выражения), использование этой функции предпочтительнее preg_replace() (с) man
    Ответ написан
    Комментировать
  • Почему все время выводится лишь первая запись?

    @dredd_krd
    У меня вопрос. В файле edit.php какой вообще смысл? Если он вытаскивает запись по id и тот же id и выдает обратно тому, кто его же и запросил? Просто чтобы был запрос к базе? Почему тогда сразу не сделать так:
    <?php
    echo '<input value="'.$_POST['ids'].'">';
    ?>

    Единственное, конечно, этот код выдаст пустую строку с предупреждением, если записи с этим id в базе нет.
    Ответ написан
    2 комментария
  • Почему не работает POST?

    @dredd_krd
    Иногда бывает необходимо вместо "<?" писать "<?php".
    А если "пустая страница", т.е. полностью пустая - смотреть в логи apache (access.log), возможно где-то ошибка, а вывод ошибок на экран отключен.
    Ответ написан
    Комментировать