я хочу, чтобы PHP-скрипт запускал программу и как-то извлекал данные из нее. Например, программа будет анализировать данные из файла и возвращать данные для скрипта PHP для отображения.
Пока я знаю, чтобы вызвать exec("Program.exe");
но должен ли я заставить его создать файл с данными, тогда есть сценарий PHP-скрипта fopen и получить его таким образом? Есть ли лучший способ сделать это? благодаря
На странице руководства для exec()
вы можете передать массив в качестве другого параметра, и этот массив будет заполнен линиями вывода из программы.
exec("Program.exe", $results); // $results is now an array where each element is a line of output
Если вам нужен только вывод команды и / или может передать вход во внешнюю команду в командной строке, то exec () или passthru () – это путь.
Если вам нужно иметь возможность подавать более длинные объемы данных во внешнюю команду, чем вы можете предоставить в командной строке, вам необходимо передать ее через STDIN. Я рекомендую использовать proc_open (), который позволяет вам вызывать внешнюю команду, но также связываться с ней через стандартные потоки ввода-вывода. Вы можете увидеть пример использования его по адресу http://www.php.net/manual/en/function.proc-open.php