linuxでは、PHPからgnome zenityプログレスバーウィンドウを実行したいと思います。どのように動作するかは、次のようになります。PHPからstdinに書き込んでいますか?
linux-shell$ zenity --display 0:1 --progress --text='Backing up' --percentage=0
10
50
100
したがって、最初のコマンドは、0%のzenityプログレスバーを開きます。 Zenityは標準入力番号をプログレスバーの割合として使用します(したがって、入力すると10%から50%から100%になります)。
私もこれらの数字を入力するPHPを取得する方法を見つけ出すことはできませんが、私が試してみました:
exec($cmd);
echo 10;
echo 50;
そして:
$handle = popen($cmd, 'w');
fwrite($handle, 10);
そして:
$descriptorspec = array(
0 => array("pipe", "r"), // stdin is a pipe that the child will read from
1 => array("pipe", "w") // stdout is a pipe that the child will write to
);
$h = proc_open($cmd, $descriptorspec, $pipes);
fwrite($pipes[1], 10);
をしかし、どれも進行状況バーを更新しません。どのようにして、進捗バーを更新するために、Linuxシェル上のstdinの効果を模倣することができますか?
ありがとうございます!私は改行を忘れてしまったとは思わない! :) – hamstar