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

    @rPman
    если я верно понял вопрос по комментариям, это javascript injecting, сделать это можно только на стороне клиента (плагином к браузеру или командой в консоли)

    Например плагин к браузеру удобный tempermonkey, позволяет запускать пользовательский javascript в зависимости от url (по маске например example.org/path/*)
    Ответ написан
    Комментировать
  • На своем сайте выложить часть другого сайта, по верх всех окон. Как сделать?

    @rPman
    скорее всего это тот сайт детектирует открытие себя в iframe и предотвращает, так как это позволяет использовать очень серьезную уязвимость clickjacking
    Ответ написан
  • Как использовать javascript для junior backend разработчика на php?

    @rPman
    it это наиболее динамичный (быстро развивающийся и меняющийся) 'рынок'

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

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

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

    @rPman
    кто же так задание формулирует
    слова - элементы массива? игнорировать ли небуквенные символы? пустые строки? про кодировку я молчу...

    есть в php функция ctype_upper - скармливаешь ей в цикле первые символ каждого элемента и если true то выводишь его
    foreach($mas as $word) if(ctype_upper($word[0])) echo "$word ";


    есть тут любители не циклов, может array_walk использовать?
    Ответ написан
  • Можно на php сделать websocket-ы и почему все предпочитают на node.js?

    @rPman
    что значит все?
    лично мне не нравится nodejs мне оно показалось медленней php (хотя чистый helloworld сервер работает примерно в 2 раза быстрее)

    асинхронный php реализован неплохо в reactphp, там тебе и вебсокеты, и веб сервер и вообще все вкусное из мира nodejs
    Ответ написан
    Комментировать
  • Как лучше писать парсер (PHP)?

    @rPman
    Современный веб это больше про javascript а не про генерацию страниц на бакэнде (а часто и то и другое), плюс для анализа сайта бывает проще работать с dom в браузере, открыв страницу и синжектив свой код например с помощью tempermonkey или с помощью selenium

    Так что все зависит от твоего целевого сайта

    По теме, если прямо надо парсить html именно на php то я рекомендую simple_html_dom, простой удобный... но он спасовал со страницами aliexpress (этот сайт борется с парсерами, даже если брать страницу уже после javascript), можно пользоваться более низкоуровневым DOMDocument::loadHTMLFile, он не такой удобный но менее строгий
    Ответ написан
    Комментировать
  • Как печатать из PHP на сетевом принтере?

    @rPman
    php тут будет только как посредник, вызывать консольные утилиты
    если машина на windows, слать чем то типа lpr
    если машина на linux, то lp (пакет cups-client)

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

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

    @rPman
    Если по каким то причинам таблицу для данных создавать не желаете
    то можно использовать вьюху или хранимую процедуру, в которой прописываете буквально все значения от пользователя (или любых других условий)
    SELECT CASE
      WHEN USER() =='one@localhost' THEN 1
    ...
      ELSE 0
    END

    т.е. местом хранения тут будет код хранимой процедуры или вьюхи а для ее обновления потребуется вызов ddl
    Ответ написан
    Комментировать
  • Как объединить N-ое количество mp3 в один?

    @rPman
    ffmpeg умеет работать со всем видом медиа файлов, так же умеет работать с ftp/http протоколами так что достаточно разобрать json, сформировать команду вызхова ffmpeg утилиты и получить результат

    вот дока с примерами
    Ответ написан
    2 комментария
  • Почему значение даты на php записывается задом на перёд, какие исторический предпосылки обусловили этот феномен?

    @rPman
    Потому что это стандарт ISO 8601 (формат в date символом 'c'), основной принцип слева направо от наиболее значимой (длительной) части к более короткой
    Ответ написан
    Комментировать
  • Как спарсить закрытую страницу на PHP?

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

    подробности смотри во вкладке network правая кнопка на запросе - копировать curl bash, там будет очень удобно и понятно все разложено по полочкам с примером
    Ответ написан
    Комментировать
  • Как из уже инициализированного объекта(подключения) PDO получить название базы данных?

    @rPman
    зависит от выбранной базы данных
    например для sqlite:
    PRAGMA database_list;

    postgres:
    SELECT current_database()

    mssql -
    SELECT DB_NAME()

    и т.п.
    Ответ написан
    Комментировать
  • Некорректный curl php запрос (xhr)?

    @rPman
    Так тут тебе не смогут помочь, но

    Открываешь страницу в браузере, открываешь по F12 консоль разработчика, открываешь вкладку Network, обновляешь, делаешь все необходимые действия как пользователь для отправки запроса... получаешь подробный лог всех сообщений, отправленных серверу.

    Правая кнопка на записи, копировать, как curl bash - получишь строку в буфере, которая подробно расписывает какие заголовки и каким должен быть запрос, повторяешь его в php (я в одном месте не смог, была какая то особенность различие в php_curl, так я тупо запускал утилиту curl которая работала)

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

    p.s. одно время старался, симулировал вызовы, но позже понял что гораздо проще и дешевле для разработки (но дороже по ресурсам cpu и ram) симулировать поведение на самом сайте, особенно если код нужно поддерживать несколько лет а сайт и запросы меняются постоянно), делать это можно как инструментами типа selenium так инжектом javascript кода прямо на страницу сайта с помощью чего то типа greasemonkey
    Ответ написан
    Комментировать
  • Как отобразить индикатор загрузки PWA-приложения?

    @rPman
    статистику можно самостоятельно собрать, по логам на сервере видно когда приложение начало загружаться, а в момент запуска на клиенте приложение может сообщить время серверу когда этот процесс завершился (хотя не обязательно).

    Собираешь статистику по устройствам, подсетям, трафику... все видно будет в логах сервера.

    Затем начинаешь искать зависимости, например время загрузки по тому с какой скоростью и сколько компонент было загружено в первые 2-3 секунды, чем больше уу тебя будет экспериментальных данных, тем точнее будет предсказание.
    Ответ написан
  • Как соединиться через curl с сайтом на опрелененный ip?

    @rPman
    соединиться с сайтом на определенном IP адресе
    как понимать это?
    ip адрес это адрес машины в интернете, с которой соединяешься
    на одной машине может быть несколько сайтов под разными доменными именами

    Бывает когда на один адрес может выдаваться несколько ip адресов- geodns, если это надо обойти, то можно локально для себя (в своей сети) настроить dns на выдачу конкретного ip адреса либо тупо прописать в /etc/hosts

    p.s. у утилиты curl есть ключ
    --connect-to <HOST1:PORT1:HOST2:PORT2>
    какраз для подмены подключений HOST1:PORT1 на HOST2:PORT2
    еще есть
    --resolve <host:port:address[,address]...>
    Provide  a  custom address for a specific host and port pair


    соответствующие им олпции curl_opt - CURLOPT_CONNECT_TO и CURLOPT_RESOLVE
    Ответ написан
    4 комментария
  • Какой из текстовых редакторов Linux умеет работать по FTP?

    @rPman
    докину варианты, в linux есть проект fuse, позволяет монтировать файловые системы, описываемые простой библиотекой, работающей как обычное приложение в userspace, на основе его сделана поддержка всяких экзотических ситуаций, в т.ч. работа по ftp - ftpfs (идет штатно с любым линукс), так же есть sshfs для доступа по ssh, avfs для архивов (сюда же fuse-zip и archivemount) или экзотический winregfs для чтения файлов реестра windows как файлы и т.п. десятки библиотек идут по дефолту в репозитории.

    монтируешь в каталог без root и пользуешься как локальными файлами из любых программ
    Ответ написан
    4 комментария
  • Можно ли отдать небольшой промышленный проект PHP на оценку правильности архитектуры?

    @rPman
    Все зависит от целей - для себя (если ты разработчик или занимаешься внедрением кем то написанного) и своего успокоения или для отчетности и сертификации.

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

    Если второе - то все будет зависеть от требований этой отчетности, и там способ проведения аудита будет определяться наличием и доступностью компаний под эти требования.
    Ответ написан
    1 комментарий
  • Какой есть аналог похожий на curl для soket io чтобы парсить сокет инфу и ответы?

    @rPman
    netcat (или nc) - консольная утилита, позволяет подключаться по tcp или udp и перенаправлять поток в файл или stdin, максимально примитивный и простой, но в локальной сети можно использовать чтобы файлы перекидывать на максимуме пропускной способности сети

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

    @rPman
    Мне надо проверить что запрос несет в себе json и определенный header, что бы ни кто просто так не мог запросы кидать
    исторически это делают через авторизацию

    Добавить basic auth либо на стороне веб сервера либо прямо в php дело нескольких строчек. Для отправки запроса практически любой библиотекой можно пользоваться следующим форматом url - http://user:password@site.com/path (даже php file_get_contents поддерживает)

    Ну и самое простое - по токену
    токен это буквально пароль, который либо прописан в конфигах/исходниках твоего сервиса либо выдается сервисом авторизации на время. Этот токен можно указывать либо в заголовках (тогда для отправки запроса нужно этот заголовок установить или еще проще - разместить этот токен прямо в запросе, т.е. site.com/doit?auth=secret_password

    Если протокол общения с твоим сервером будет https никто не сможет узнать ни логин пароль, ни токен авторизации, не имея доступа к машине с которой они вызываются
    Ответ написан
    8 комментариев
  • Возможно ли прочитать с помощью php файл который находится на удаленном сервере?

    @rPman
    это basic http auth
    скачать можно простым file_get_contents а логин и пароль указать в самой ссылке в формате:
    https://login:password@site.com/...
    Ответ написан
    Комментировать