2014-09-05 5 views
0

У меня есть файл Python, который используетЗапуск кода Python из PHP

raw_input() 

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

Я хочу преобразовать этот инструмент командной строки в веб-приложение.

Как бы я это сделал?

shell_exec() 

не будет делать то, что я хочу, потому что (насколько я знаю) не может вводить данные из raw_input() через PHP ..

+0

Зачем использовать php? - на веб-фреймворках Python есть много вариантов. CherryPy будет казаться адекватным для вашего приложения. –

ответ

0

Вы ищете Readline или стандартного ввода потока:

С php://stdin

$fp = fopen("php://stdin","r"); 
$line = rtrim(fgets($fp, 1024); 

readline С:

$line = readline("Command: "); 
-1

Я действительно создал сценарий dnsTools, который будет запускать скрипт perl, похожий на то, как он звучит так, как вы хотите. Я shell_exec вот пример того, что я сделал

$ip=shell_exec('/usr/bin/perl ./dnstools.pl -ta -h'.$_POST["domain"].' [email protected]'); 

Тогда мой сценарий просто возвращает IP-адрес в виде строки.

Запомните: Выход из выполненной команды или NULL, если произошла ошибка, или команда не производит выход. http://php.net/manual/en/function.shell-exec.php

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

Если shell_exec выключен, вы можете попробовать использовать завиток, чтобы запустить команду через Интернет, а затем обрабатывать результаты.

Смежные вопросы