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

    @iproman
    Пишу на всём что движется.
    Определитесь.

    Вы хотите и контроллировать и разрешить людям самим создавать. Просто запретите генерацию собственных в админке. Сделайте кнопку для автогенерации, и покажите список снизу с кнопками удаления, копирования.

    Если вам нужна валидация по типу(A0000001), то делайте собственный regex.
    /([A-Z])([0-9])\d+/g

    Или иное, под ваш ЯП.
    Ответ написан
    Комментировать
  • Диагностика компьютера на PHP?

    @iproman
    Пишу на всём что движется.
    У браузера есть основной доступ к инфе компа, которые передаются через заголовки, но не более.

    Вкратце, список действий.
    1. Сайт, где юзер нажимает к примеру кнопку `Получить состояние компьютера`
    2. Качается программа, которую юзеру нужно запустить
    3. После диагностики, прога передает на сайт все характеристики ПК.


    Опять же нужно заслужить доверие юзера, что ты его не хакнешь.

    Поправьте если ошибся, буду благодарен.
    Ответ написан
    Комментировать
  • Как спарсить страницу с кодировкой windows-1251 и перекодируя ее в UTF-8?

    @iproman
    Пишу на всём что движется.
    $html_utf8 = mb_convert_encoding($html, "utf-8", "windows-1251");
    Ответ написан
    1 комментарий
  • Как сделать счетчик просмотра изображений?

    @iproman
    Пишу на всём что движется.
    К примеру в YII2, при открывании любой страницы вызывается метод (в действии контроллера).
    // Открыли картинку, увеличь счетчик на 1
    $model->updateCounters([
       'поле счетчика' => 1,
    ]);


    В котором содержится
    public function updateCounters($counters)
        {
            if (static::updateAllCounters($counters, $this->getOldPrimaryKey(true)) > 0) {
                foreach ($counters as $name => $value) {
                    if (!isset($this->_attributes[$name])) {
                        $this->_attributes[$name] = $value;
                    } else {
                        $this->_attributes[$name] += $value;
                    }
                    $this->_oldAttributes[$name] = $this->_attributes[$name];
                }
                return true;
            }
            return false;
        }


    А на низком уровне, mysql запрос таков
    UPDATE `таблица` SET `поле счетчика`=`поле счетчика`+1 WHERE `id фотографии`=9


    На чистом php можно было бы написать так
    $connection = new PDO($dsn,$user,$pass,$options);
    $q = "UPDATE `таблица` SET `поле счетчика`=`поле счетчика`+1 WHERE `id` =`:photo_id`";
    $query = $connection->prepare( $q); 
    $query->bindValue( ':photo_id', $row["id"] );
    $query->execute();


    Может чем то поможет, успехов!
    Ответ написан
    Комментировать