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

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    По идее этот код надо вставить в начало скрипта, сразу после <?php, а делее уже ваш код классы и тд.
    Удалять файл не нужно, так как блокировка сама снимется когда скрипт закончит работу, и блокировка будет активна пока скрипт в работе.

    <?php
    
    $lock = fopen(__DIR__ . '/lock_start.lock', 'w');
            if (!($lock && flock($lock, LOCK_EX))) {
                exit('already running');
            }
    
    //далее ваш код
    Ответ написан
    Комментировать
  • Как правильно вывести данные из масиива?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    <?php
    $last_view = $model -> query("SELECT * FROM `w3m_404urls` WHERE `views` >= 3");
    while($row = $last_view->fetch_assoc())
    {
        echo "<tr>
            <td>{$row['id']}</td>
            <td>{$row['url']}</td>
            <td>{$row['date']}</td>
            <td>{$row['view']}</td>
        </tr>";
    }
    Ответ написан
    Комментировать
  • Почему не работает file_get_contents?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Возможно сайт смотрит на наличие определённых HTTP-заголовков, например, чтобы был не пустой user-agent или какие-то другие заголовки.
    Чтобы их задать не обязательно нужен curl (но рекомендую его), можно и для file_get_contents это сделать.
    Пример ниже задаём Accept-language и User-Agent

    $options = array(
      'http'=>array(
        'method'=>"GET",
        'header'=>"Accept-Language: en-US,en;q=0.9,ru;q=0.8\r\n".
    "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.50 Safari/537.36 OPR/65.0.3467.16 (Edition beta)\r\n"
      )
    );
    
    $context = stream_context_create($options);
    $String = file_get_contents($url, false, $context);
    Ответ написан
    Комментировать
  • Как блокировать создание процессов демонов в php?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Можно запретить php-cli, так как обычно демоны это запущенный через php-cli скрипт отвязанный от родителя.
    Так же для демонизации используются обычно pcntl-функции (для создания fork'a и тд) и если можно то запрещать нужно именно их.
    Ответ написан
    1 комментарий
  • Почему не добавляются записи в БД?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Ну для дебага наживую, чтобы увидеть ошибку SQL такой вариант

    if(mysqli_query($connection, $add)) {
      echo "Добавлено";
    } else {
      var_dump(mysqli_error($connection));
      exit;
    }


    Судя по картинке, ошибка будет в том что в таблице в бд есть поле text, а в запросе передаётся description которого нет в таблице.
    Ответ написан
    Комментировать
  • Определение северозападный регион по IP, для показа тел номера?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    вам поможет cidr_ru_block.txt который содержит базу ip адресов с привязкой к данным: страна, город, регион, округ.
    Брать на ipgeobase.ru/cgi-bin/Archive.cgi
    Описание по структуре ipgeobase.ru/Help.html#32

    Сможете с большой точностью определить регион по IP для России.
    Ответ написан
    Комментировать