(PHP 4, PHP 5, PHP 7, PHP 8)
passthru — Esegue un programma esterno e mostra l'output non elaborato
La funzione passthru() è simile alla funzione
exec() in quanto esegue un
command
. Questa funzione
deve essere usata al posto di exec() o
di system() quando l'output del comando Unix
consiste in dati binari che devono essere restituiti direttamente al
browser. Un suo uso frequente consiste nell'eseguire, ad esempio, le utility
pbmplus che possono restituire un flusso diretto all'immagine.
Impostando il Content-type a image/gif e
successivamente chiamando un programma pbmplus per generare una gif, si possono creare
degli script PHP che generano direttamente delle immagini.
command
Il comando che verrà eseguito.
return_var
Se viene specificato il parametro return_var
, lo
stato ritornato dal comando Unix verrà posto lì.
Nessun valore viene restituito.
Se si permette di passare a questa funzione i dati provenineti dagli input utente, si dovrebbe utilizzare la funzione escapeshellarg() oppure escapeshellcmd() in modo da essere sicuri che gli utenti non possano compromettere il sistema eseguendo comandi arbitrari.
Nota:
Se si avvia un programma con questa funzione e si vuole lasciarlo in esecuzione in background, ci si deve accertare che l'output del programma venga redirezionato verso un file o qualche altro stream di output, altrimenti PHP si fermerà finché l'esecuzione del programma sarà terminata.