Intereting Posts
Действительно ли оболочка pdo переполнена? Почему константа `FILTER_VALIDATE_NUMBER_FLOAT` сбрасывает символ десятичного знака? Функция HTML replaceWith с PHP RegEx – Как извлечь цену? PHP DOM – снятие тегов span, оставляя их содержимое Альтернативный var_dump для PHP, который позволяет ограничить глубину вложенных массивов Создайте временную папку, чтобы сохранить файлы в структуре и сделать ее загружаемой путем сжатия папки Как использовать сеанс в Symfony с помощью Custom Twig Extension JQuery Ajax Voting Является ли библиотека PDO быстрее, чем собственные функции MySQL? Автоматически обновлять токен с помощью google drive api с помощью php-скрипта Как получить текущий маршрут в Symfony 2? Исключить некоторые строки php-кода из анализа сонарков Использование переменной из другого условия в PHP Акцентированные символы, не показывающие при использовании imagettftext с otf, но показывающие с ttf

Вызвать программу C из php и прочитать вывод программы

Может ли кто-нибудь объяснить мне, как запустить программу C из сценария php и сохранить консольный вывод программы C в php-переменную?

Моя программа печатает целочисленное значение на консоли с помощью функции C printf (). Я хочу прочитать это значение и сохранить его в переменной php.
Я использую linux. Я попробовал exec, но он не отображает значение переменной после эха на страницу

Этот фрагмент кода, который я использую.

exec("Release/matchface image1.jpg image2.jpg", $output); while( list(,$row) = each($output) ) { echo $row. "<br />"; } 

Вы захотите использовать shell_exec() (цитирование) :

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

Это означает, что это будет выглядеть так:

 $output = shell_exec('/path/to/your/program'); 

Или вы можете использовать backtick operator – который будет делать то же самое (цитирование) :

PHP будет пытаться выполнить содержимое backticks как команду оболочки; вывод будет возвращен

И, в коде:

 $output = `/path/to/your/program`;