Вы можете использовать popen()
, чтобы открыть канал к исполняемому файлу:
$fp = popen('./myexec.bin', 'w');
fwrite($fp, $data);
pclose($fp);
Затем, как ранее предлагалось, прочитать из stdin
в вашей C-программе:
fopen(stdin, "r");
// ...
«Безопаснее» использовать popen()
вместо exec('/bin/echo')
, потому что вы можете писать символы, которые иначе интерпретировались бы оболочкой (&, |, ...).Обратите внимание, что дескриптор, возвращаемый из PHP popen()
, должен быть закрыт с pclose()
.