Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > $fp = popen("./WMSigner", "r+");


Автор: Step 29.10.2003, 16:22
объясните что делает popen, в книжке не нашел

Автор: MuToGeN 29.10.2003, 17:08
Открывает пайп, типа как кесли бы ты запустил программу в консоли. С хендлом, который оно создает, можно обращаться как с фаилом, т.е. чтение из фаила = чтение с stdout, запись в фаил = ввод чего-то в stdin, вот как с stderr без 2>&1 - точно не помню...

Автор: Step 29.10.2003, 17:12
можноли popen заменить fopen и в каких случаях, а то popen выдает предупреждение какоето пишет что ошибки нет но варнинг пишет

Автор: MuToGeN 29.10.2003, 17:17
нельзя. popen(), грубо говоря, "запускает программу", а fopen() открывает фаил.
> предупреждение какоето
а какое именно - не секрет?

Автор: Step 29.10.2003, 17:24
Warning: popen("./WMSigner","r+") - No error in wm.inc on line 51


вот такое, нет ошибки... и все, и далье идентификатор нулевой и посыпались предупреждения об этом


А вот код
Код

function _GetSign($inStr)
{
 $fp = popen("./WMSigner", "r+");


 $PlanStr = "$inStr\004\r\n";
 fwrite($fp,$PlanStr);
 $s = fgets($fp, 133);
 pclose($fp);

 return $s;
}

Автор: MuToGeN 29.10.2003, 18:04
попробуй proc_open("...","rw");
работать будет только с php 4.3.0 и старше

Автор: Step 29.10.2003, 18:18
php 4.3.0 где скачать его

Автор: MuToGeN 29.10.2003, 18:30
Вот, держи http://www.php.net/, только никому больше ее не давай smile.gif

Автор: Step 29.10.2003, 18:38
Спасибо

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