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

    riky
    @riky
    Laravel
    если php >= 5.5
    то
    $result = array_column($array, 'original');

    если меньше то можно использовать любые заменители из комментов
    php.net/manual/ru/function.array-column.php
    Ответ написан
  • Можно ли поставить ограничение на количество отправленных заявок из формы обратной связи?

    riky
    @riky
    Laravel
    сохраняйте в базу или тупо в файл количество записавшихся, если превышает - не выводить форму.

    если на файлах то коды примерно такие:
    записать заявку:
    $file = 'count.txt';
    file_put_contents($file, (int)file_get_contents($file) + 1);


    проверить
    if ((int)file_get_contents($file) < 30):
       // вывод формы
    endif


    чтобы работал лимит по дням - самое простое 1 файл на один день, достаточно заменить
    $file = 'count.txt';
    на
    $file = 'count-' . date('Y-m-d') . '.txt';
    остальное так же.

    также конечно можно и базу использовать аналогично.
    Ответ написан
    Комментировать
  • JS и Backspace. Как запретить повторное исполнение скрипта?

    riky
    @riky
    Laravel
    как я уже писал без кук не будет и сессий, поэтому ajax запросы делать бесполезно, вы все равно не поймете что 2 запроса пришли от одного клиента.

    используйте библиотеку samy.pl/evercookie которая пытается сохранить данные на клиенте всеми мыслимыми и немыслимыми способами, в том числе localStorage и всевозможные кеши браузера.

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

    количество способов восхищает

    - Standard HTTP Cookies
    - HTTP Strict Transport Security (HSTS) Pinning
    - Local Shared Objects (Flash Cookies)
    - Silverlight Isolated Storage
    - Storing cookies in RGB values of auto-generated, force-cached
    PNGs using HTML5 Canvas tag to read pixels (cookies) back out
    - Storing cookies in Web History
    - Storing cookies in HTTP ETags
    - Storing cookies in Web cache
    - window.name caching
    - Internet Explorer userData storage
    - HTML5 Session Storage
    - HTML5 Local Storage
    - HTML5 Global Storage
    - HTML5 Database Storage via SQLite
    - HTML5 IndexedDB
    - Java JNLP PersistenceService
    - Java CVE-2013-0422 exploit (applet sandbox escaping)


    хотя конечно в 99,9% случаев будут все равно использоваться куки, редко у кого они выключены.
    Ответ написан
    Комментировать
  • Как запретить копирование коммерческого ПО (библиотека на PHP)?

    riky
    @riky
    Laravel
    если нет инета то привязка может быть только к железу (серийный код материнской платы).

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

    сомневаюсь что вы будете заморачиваться с написанием php экстеншена, хотя и он простой по функционалу, нужно разбираться с zend engine api.

    также аналогичный, но более простой вариант - написать простую программу на с++ например, можно консольную, которая извлекает этот сериал материнской.
    подойдет любой компилируемый язык (C, C++, C#, наверное даже pascal или basic), программа будет простая
    https://www.google.ru/webhp?q=get+motherboard+serial (добавьте любой ЯП)

    далее зашифрованная функция будет также запускать его через exec, со спец параметрами и получать вывод из нее (желательно их общение сделать запутанным, чтобы было сложно написать подобную программу, которая просто вернет то что хочет php).
    php файл с функцией обязательно заэнкодить. просто обфусцировать php - защита от дурака, более менее грамотный легко вскроет.

    ps пока писал, придумал еще вариант - исопльзовать mac адрес сетевухи.
    программу на С писать не придется тк можно использовать встроенные консольные команды ОС
    нужно парсить вывод
    exec('ipconfig /all')
    как минимум искать нужный мак адрес.
    Ответ написан
  • Существует программа/плагин для создания отступов в php?

    riky
    @riky
    Laravel
    в PHP/Web Storm
    ctrl + alt + L
    Ответ написан
    Комментировать
  • Как работают функции fputcsv, fgetcsv?

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

    riky
    @riky
    Laravel
    вы этот код
    $randNum = rand(1, 999);

    выполнятее несколько раз.

    например несколько раз инклюдите файл с ним.
    Ответ написан
    Комментировать
  • Как можно скриптом установить текстовые поля роликов на YouTube?

    riky
    @riky
    Laravel
    автоматизацию таких небольших задач я для себя часто делаю в виде javascript кода. довольно просто бывает сделать эмуляцию пользовательского ввода (клики). или напрямую dom править.

    запуск из консоли браузера или можно создать закладку в браузере с javascript'ом.

    если бы были тысячи то можно было бы и с апи заморочится или пост запросы подделывать, но там будут проблемы с авторизацией, да и запросы бывает сложно проанализировать. а javasctipt и так уже имеет полный доступ.
    Ответ написан
  • Как загрузить картинку на сервер с помощью PHP?

    riky
    @riky
    Laravel
    1) вывести картинку на скрытый канвас
    2) сгенерить base64 код содержимого канваса
    3) добавить хидден поле и записать его value этот код.
    4) на сервере он будет в $_POST переменной
    Ответ написан
    Комментировать
  • Как сделать древовидную структуру комментариев?

    riky
    @riky
    Laravel
    а что конкретно не понятно? parent_id вы уже добавили, записывайте просто туда id вышестоящего коммента.
    если бы комментов у постов были тысячи и вы бы их загружали не все сразу, то было бы опрадванно использовать например nested sets.
    но в вашем случае проще доставать комменты по target_id и уже в php построить дерево и вывести (рекурсия).
    сложности будут только если есть пагинация комментов.
    Ответ написан
    Комментировать
  • Какой стек выбрать для разработки обучающей веб-игры?

    riky
    @riky
    Laravel
    вопрос конечно упирается еще и в бюджет/сроки/ваши навыки в каждом.

    по описанию не видно какой то необходимости использовать спец средства (модные технологии), как будто хотите использовать технологии ради технологий.

    судя по описанию вполне нормально использовать php (+mysql/postgree), если у вас есть опыт в нем, если больше с нодой знакомы то можно и на ней писать, разницы помоему нет. сделать позже приложение андроид это не помешает.

    я бы рекомендовал делать на ноде (и не делать на пхп) если нужно было бы онлайн взаимодействие нескольких игроков, а тут похоже самые простейшие запросы, вебсокеты не нужны.

    на фронте что угодно, по описанию не понятно даже нужен ли реакт/ангулар или одного jquery хватит. хотя лично я за реакт.
    Ответ написан
    Комментировать
  • Как понять что дано программировать?

    riky
    @riky
    Laravel
    Программирование может быть работой, а может быть творчеством.
    Первое для всех, второе тем кому "дано".

    Это как маляр, кто-то просто забор красит (это дано всем), а кто-то картину пишет. Вроде и те и те просто берут краски кисточку и работают. Но первым может любой стать а второе не всем дано. А нужны и те и те.

    Поэтому ставьте вопрос для чего. Тупо заработать - дано всем. А творчество - у себя спросите - интересно это вам?

    Готовы свободное время тратить на это?
    Ответ написан
    3 комментария
  • Не работает ftp в phpstorm. Как исправить?

    riky
    @riky
    Laravel
    проверьте пути в настройках фтп на закладке Mapping
    Local path - корень на вашем компе
    Deployment path - выберите корневую директорию на фтп (кнопка троеточие справа)
    Ответ написан
    Комментировать
  • С чего начинать проектировать приложение?

    riky
    @riky
    Laravel
    Судя по вопросу ты не можешь выбрать что было в начале яйцо или курица. вначале не было ни того, ни другого, была другая абстрактная птица, которая может даже не летала, но как то ее дитя через несколько поколений мутировало в курицу.

    Действуй так же - итерационно. Пусть сначала будет урод который может еще не кудахтает и не ходит, но хотя бы живет. а для этого у него должно быть и сердце и голова и перья, пусть для начала хреновенькие, потом переделаешь, в программировании это проще всего.

    сделай например для начала заготовку, авторизацию (простой интерфейс + табличку в базе), потом добавление задачи в црм (+ табличку для нее), для начала можно с простейшим дизайном.

    Тебе сейчас нужно просто начать чтото делать. И делать понемногу все и фронтенд и бекенд и базу. Не бойся потом все можно отрефакторить/переделать. У тебя мало опыта чтобы сразу сделать хорошую архитектуру, но это не значит что нельзя начинать.

    И то что было в начале уродцем постепенно превратится в курицу, несущую золотые яица

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

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

    Успехов.
    Ответ написан
    Комментировать
  • Как резултат цикла выводить снизу вверх?

    riky
    @riky
    Laravel
    array_reverse
    Ответ написан
    Комментировать
  • Парсер с Яндекса в WordPress?

    riky
    @riky
    Laravel
    C яндекса список 5 новостей со ссылками спарсить очень легко.
    но подводный камень в том что яндекс только дает ссылки на другие сайты, и конетнт придется с них парсить.

    а парсить главный контент произвольного сайта это задача over 100 lvl
    Ответ написан
  • Почему не работает сжатие изображения?

    riky
    @riky
    Laravel
    вставьте в начало скрипта хотя бы
    ini_set("display_errors", 1);
    error_reporting(E_ALL);

    увидите ошибки
    Ответ написан
    Комментировать
  • Как составить регулярку как на qtranslate-x?

    riky
    @riky
    Laravel
    <?php
    
    $html = "<div>
    <img src='/logo.png'>[:ru]Привет мир[:en]Hello World[:]
    </div>";
    
    $lang = 'ru';
    
    echo preg_replace_callback('|\[:.*\[:\]|isuU', function ($find) use ($lang) { 
        if (preg_match('|\[\:' . $lang . '\](.*)\[\:|isuU', $find[0], $matches)) {
            return $matches[1];
        }
    }, $html);


    результат

    <div>
    <img src='/logo.png'>Привет мир
    </div>
    Ответ написан