Предположим, у меня есть локальная веб-страница, которая при нажатии кнопки выполняет программу на C. Я уже могу это сделать. Проблема в том, что эта программа выводит журналы и требует ввода от пользователя. Мой вопрос заключается в следующем: как я могу отображать окно, подобное bash, и запускать через него эту программу, так что вывод и вход просматриваются через экран?Как выполнить интерактивную программу оболочки с веб-страницы PHP
ответ
Я разрабатываю плагин для jQuery "Terminal Emulator", вы можете это проверить. Если вы пишете свою C-программу как JSON-RPC, вы можете создать свой терминал с одной строкой javascript.
Другое решение - не использовать PHP вообще и создавать свой код как CGI, написанный на C или даже в Bash.
Update: Вы можете изменить программу, чтобы быть CGI скрипт
int main() {
printf("Content-Type: text/plain\n\n");
// code of your program here
}
и поместить его в CGI-BIN каталога и запустить его через браузер http://yourserver.com/cgi-bin/program он отображает выход в браузере
То, что вы предложили, не соответствует тому, что я думал. Я просто хотел открыть терминал в другом окне. Это не должно было быть на веб-странице. Хотя мне очень нравится ваша идея. это для моего диссертационного проекта, поэтому, если я смогу это сделать за короткое время, я сделаю это. В любом случае, знаете ли вы, как это сделать, как я думал? – gvalero87
Вы можете использовать этот фрагмент http://wklej.org/id/472868/, но он не обрабатывает перемещение каталога, он просто выполняет код из «QUERY_STRING», и он не защищен, а пароль не проверяется. – jcubic
Возможно, вам может использовать ajaxterm и указать программу, которую вы хотите запустить в качестве оболочки:
ajaxterm.py --command=/your/command --port=yourfavoriteport
Вы можете перенаправить пользователя на указанный порт или отобразить терминал через iframe.
Не был бы SSH более безопасным/безопасным/практичным/легким способом достижения этого? – drudge
Почему бы не разобрать вывод программы на php и показать на экране (браузер). Я хотел бы придерживаться C распространять полную программу как c (exe), каково значение в php и C? программа c должна быть распределена пользователю в любом случае. –
, возможно, зная, что делает c и что делает php, поможет –