Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Диалог с консольной программой


Автор: rcdimon 18.7.2015, 07:58
Всем привет.

Необходимо из PHP запускать программу (платформа windows)

exec("C:\Program Files\Cisco Systems\VPN Client\vpnclient.exe" connect "myvpnconnect");

Все бы хорошо, но после установления соединения программа выдает сообщение 

"Welcome!
Do you wish to continue? (y/n):"

И необходимо написать y

Как на php можно получить вывод программы и, когда там будет это сообщение, послать y ?

Автор: ksnk 18.7.2015, 10:02
http://php.net/manual/ru/function.exec.php
Там есть еще и маcсив $output в параметрах. Подходит?

Автор: Ceiceron 22.7.2015, 01:15
Такие операции из PHP обрабатывать сложно. К тому же exec возвращает результат уже после запуска программы как отдельного процесса и из PHP доступ к нему вы уже не получите. Так что советую написать BAT-файл, который будет корректно запускать внешнюю программу с нужными параметрами и уже его вызывать на исполнение из PHP.

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Dialog-s-konsolnoy-programmoy-id55a9dd57ae2015462e8b4567#findElement_E7045_55aec492ae2015dd5dcacd26_0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)