(PHP 4, PHP 5, PHP 7, PHP 8)
passthru — Ejecuta un programa externo y muestra el resultado sin procesar
passthru() es similar a la función
exec() ya que ambas ejecutan el comando
command. Si el argumento
result_code está presente,
el código de estado de respuesta UNIX será colocado allí. Esta función
debe preferirse a las funciones exec()
o system() cuando el resultado esperado es de tipo
binario y debe pasarse sin procesar a un navegador.
Un uso clásico de esta función es la ejecución
de la utilidad pbmplus que puede devolver una imagen. Al establecer el tipo de contenido (Content-Type) a image/gif
y luego llamar a pbmplus para obtener una imagen gif, se pueden crear scripts PHP que devuelven imágenes.
commandEl comando a ejecutar.
result_code
Si el argumento result_code está
presente, el estado devuelto por el comando Unix será colocado
en esta variable.
Emite una advertencia E_WARNING si passthru() no puede
ejecutar el comando command.
Genera una excepción ValueError si command
está vacío o contiene caracteres nulos.
| Versión | Descripción |
|---|---|
| 8.0.0 |
Si command está vacío o contiene caracteres nulos,
passthru() ahora genera una excepción ValueError.
Anteriormente, se emitía una advertencia E_WARNING y se devolvía false.
|
Si los datos provenientes de los usuarios tienen permiso de ser pasados a esta función, utilice escapeshellarg() o escapeshellcmd() para asegurarse de que los usuarios no puedan hacer que el sistema ejecute comandos arbitrarios.
Nota:
Si un programa es iniciado con esta función y se ejecuta en segundo plano, la salida del programa debe ser redirigida a un archivo, o a otro flujo de salida. De lo contrario, PHP se bloqueará hasta el final de la ejecución del programa.