passthru

(PHP 4, PHP 5, PHP 7, PHP 8)

passthruEjecuta un programa externo y muestra el resultado sin procesar

Descripción

passthru(string $command, int &$result_code = null): ?false

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.

Parámetros

command

El comando a ejecutar.

result_code

Si el argumento result_code está presente, el estado devuelto por el comando Unix será colocado en esta variable.

Valores devueltos

Esta función retorna null en caso de éxito o false si ocurre un error.

Errores/Excepciones

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.

Historial de cambios

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.

Notas

Advertencia

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.

Ver también