passthru

(PHP 4, PHP 5, PHP 7)

passthruEjecuta un programa externo y muestra la salida en bruto

Descripción

passthru ( string $command [, int &$return_var ] ) : void

La función passthru() es parecida a la función exec() que ejecuta un command. Esta función deberia ser usada en lugar de exec() o system() cuando la salida desde la línea de comandos de Unix sean datos binarios, los cuales sea necesario pasar directamente al navegador. Un uso común para esto, sería para ejecutar algo como las utilidades pbmplus que pueden mostrar directamente una imagen en streaming. Estableciendo el Content-type como image/gif y llamando al programa pbmplus para mostrar un gif, se podrian crear scripts PHP que mostrasen imágenes directamente.

Parámetros

command

El comando que será ejecutado.

return_var

Si está presente el argumento return_var, el valor de retorno de la línea de comandos de Unix será colocado aquí.

Valores devueltos

No devuelve ningún valor.

Notas

Advertencia

Si se va a permitir que datos provenientes del usuario sean enviados a esta función, habría que utilizar escapeshellarg() o escapeshellcmd() para asegurarse que el usuario no intenta engañar al sistema para que ejecute comandos arbitrarios.

Nota:

Si ejecutamos un programa con esta función y queremos dejarlo ejecutándose en segundo plano, hay que asegurarse que la salida del mismo es redireccionada a un fichero u otro flujo de salida o PHP se quedará esperando hasta que la ejecución del programa termine.

Nota: Cuando safe mode está habilitado, sólo se pueden ejecutar los archivos que se encuentren dentro de safe_mode_exec_dir. Por razones prácticas, actualmente no se le permite tener componentes .. en la ruta al ejecutable.

Advertencia

Con safe mode habilitado, la cadena de comandos se escapa con escapeshellcmd(). Por esto, echo y | echo x quedaría echo y \| echo x.

Ver también