1 / 1 / 0
Регистрация: 20.04.2019
Сообщений: 59

Как из php скрипта передать значение в python и получить результат в этот же php скрипт

23.12.2019, 00:21. Показов 13877. Ответов 4

Студворк — интернет-сервис помощи студентам
Нам с товарищем в универе задали выполнить работу, а именно написать матричный калькулятор, я создал frontend https://webinclude.site/ (похвастаюсь), а он занялся back-end, со мной всё понятно, но вот он работал на python, всё бы ни чего, но я понятия не имею как все это связать, я хорошо знаю php. Мудрит мне нужно из за того что нужно (тавтология) в бд сохранить историю привязанную к ip, а это значить (в моём случае) что браузер должен обратиться к моему php скрипту, он в свою очередь должен вызвать python скрипт передав ему два массива и код операции (целочисленное значение) а тот должен вернет результат в вызвавший его php скрипт, после чего данные отправятся в бд и пользователю

Я очень прошу вас показать на самых примитивных составленных вами примерах как это сделать, а дальше я уже разберусь, только прошу вас хоть и примитивно но подробно. Заранее спасибо
1
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.12.2019, 00:21
Ответы с готовыми решениями:

Результат JS скрипта выводится в консоль. как передать его в php
очередной дурацкий вопрос... Результат работы JS скрипта выводится в консоль … console.log(result); console.log(newSum); ...

Как передать значение input date в этот скрипт и потом вывести результат?
Скрипт определения дня недели по дате почти готов, почти работает, но как передать переменную даты в него и вывести результат? Нужно чтобы...

Как получить значение переменной из php скрипта?
Друзья на странице есть такой запрос к php скрипту: $.ajax({ type: "POST", url: "/lviv/inclub/registration.php", ...

4
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
23.12.2019, 12:40
Н-да. Я понял так: сайт на php, пользователь вводит там данные, и они (внезапно!) должны быть обработаны python. Всё верно?

Жесть. Хотите пример, вот вам пример: пусть питон слушает сокет и принимает задачи по протоколу http в формате json.

В php берёте данные, сериализуете их в json и делаете post-запрос питону. Он считает и отправляет обратно данные тоже в json.

База данных не подходит, её придётся постоянно мониторить одной из сторон.

Добавлено через 1 минуту
P.s. у тебя кнопка "вычислить" не работает. Хоть бы данные на сервер какие отправлял при нажатии.

Добавлено через 2 часа 47 минут
Пример: 400 Bad Request
0
1 / 1 / 0
Регистрация: 20.04.2019
Сообщений: 59
23.12.2019, 20:05  [ТС]
Всё правильно но я не знаю как на уровне кода всё это реализовать, вот моя идея, индексный файл на php, при первом обращении браузера данный индексный файл должен пробит бд на предмет наличия данных связанных с данным ip, после чего подставить все найденные данные в нужные места (если таковые существуют), далее при работе с сайтом пользователь нажмет на кнопку вычислить и отправить новые не просчитанные данные на сервер (в фоне аякс-ом), далее там на сервере эти данные встретит другой php скрипт (скажем akt.php) после чего он внесёт ip в бд (естественно после проверки на существования данного ip), а самы матрицы должны отправиться далее в python скрипт (скажем matrix.py), тот должен вернуть уже просчитанные данные в этот-же скрипт для того чтобы сохранить их в бд и отправить пользователю обратно в виде ответа. Моя самая больша проблема в том что я не знаю python а учить его времени нет, и в пятницу сдавать проект, чорт бы его побрал я не знаю как отправить на сервер переменные сразу в python скрипт и от туда-же записать их в бд
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
24.12.2019, 05:43
Лучший ответ Сообщение было отмечено владикНЕвладик как решение

Решение

Сразу две проблемы:
1) на одном ip могут сидеть несколько пользователей.
2) "самы матрицы должны отправиться далее в python скрипт" - для этого тебе придётся проверять БД на наличие новых данных. Даже с частотой 1 раз в секунду - это глупо.

Выкинь базу и сделай общение двух скриптов через порт.

Или попробуй позапускать питоновский скрипт так:
PHP
1
passthru('python script.py 4 3 1 2 3 4 5 6 7 8 9 10 11 12 x 3', $err);
Добавлено через 3 минуты
Данные можно передавать не через аргументы, а через переменные окружения:
PHP
1
2
3
4
5
6
$cmd='echo "output=$FOO/$BAR"';
 
$cmd="FOO=bar;BAR=baz;" . $cmd;
 
print ">> $cmd\n";
passthru($cmd);
Добавлено через 7 минут
Вот, работает. и без всяких портов:
PHP
1
2
3
4
<?php
$value = array(1,2,3,4);
$json = json_encode($value);
passthru("JSON=$json python script.py");
Python
1
2
3
4
5
6
import os
from json import JSONDecoder
 
json = os.getenv('JSON')
value = JSONDecoder().decode(json)
print(value)
2
1 / 1 / 0
Регистрация: 20.04.2019
Сообщений: 59
24.12.2019, 18:32  [ТС]
Вот спасибо тебе, реально годный совет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.12.2019, 18:32
Помогаю со студенческими работами здесь

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

Передать значение в php скрипт из js
Всем привет, подскажите как передать значение в скрипт fon.php из app.js Сейчас передаю с помощью GET...

Передача данных из одного php скрипта в другой php скрипт
Работаю с методом API. Метод может передать данные только в один скрипт. А уж из этого скрипта я хочу передать данные во все остальные...

Выполнить php скрипт внутри другого php скрипта
Добрый день. Есть два скрипта: outer.php и inner.php. В каком-то месте внутри outer.php нужно выполнить скрипт inner.php, а результат его...

Передать значение из макроса в php скрипт на сайте
Здравствуйте, есть число в Excel, как его передать скрипту на сайте? Нужно передать его чтобы затем работать с vk api через скрипт на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru