In Linux voglio eseguire una barra di avanzamento di gnome zenity da PHP. Come funziona zenity è così:Scrivere su stdin da PHP?
linux-shell$ zenity --display 0:1 --progress --text='Backing up' --percentage=0
10
50
100
Quindi il primo comando apre la barra di avanzamento di zenity a 0 percento. Zenity quindi prende i numeri di input standard come percentuale della barra di avanzamento (quindi passerà dal 10% al 50% al 100% quando si digitano quei numeri in).
io non riesco a capire come ottenere PHP per inserire quei numeri, però, ho provato:
exec($cmd);
echo 10;
echo 50;
E:
$handle = popen($cmd, 'w');
fwrite($handle, 10);
E:
$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);
Ma nessuno di loro aggiorna la barra di avanzamento. In che modo posso simulare l'effetto dello stdin sulla shell di linux per far sì che zenity aggiorni la sua barra di avanzamento?
Grazie mille! Non posso credere di aver dimenticato la nuova riga! :) – hamstar