popen
Apre un puntatore ad un file di processo
Apre una pipe ad un processo eseguito forkando il comando dato da command.
command
Il comando
mode
La modalità. O 'r' per leggere, o 'w'
per scrivere.
Su Windows, popen di default usa la modalità testo, cioè qualsiasi carattere
\n scritto o letto dalla pipe verrà tradotto in \r\n.
Se ciò non è desiderato, può essere applicata la modalità binaria impostando mode
a 'rb' e 'wb', rispettivamente.
Restituisce un puntatore a file identico a quello restituito da fopen, eccetto che per il fatto che è unidirezionale (può solo essere usato per la lettura o la scrittura) e deve essere chiuso con pclose. Questo puntatore può essere usato con fgets, fgetss e fwrite. Quando la modalità è 'r', il puntatore al file restituito è uguale allo STDOUT del comando, quando la modalità è 'w', il puntatore al file restituito è uguale allo STDIN del comando.
Se si verifica un errore, restituisce false.
Esempio di popen <?php $handle = popen("/bin/ls", "r"); ?>
Se non è stato possibile trovare il comando da eseguire, viene restituita una risorsa valida. Può sembrare strano, ma ha senso; esso permette di accedere a qualsiasi messaggio di errore restituito dalla shell: Esempio di popen <?php error_reporting(E_ALL); /* Aggiunge un reindirizzamento, in modo da poter ottenere stderr. */ $handle = popen('/path/to/executable 2>&1', 'r'); echo "'$handle'; " . gettype($handle) . "\n"; $read = fread($handle, 2096); echo $read; pclose($handle); ?>
pclose fopen proc_open