Ejecutar un programa externo y mostrar su salida

# system

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

system — Ejecutar un programa externo y mostrar su salida

### Descripción

function system(string `$command`, int `&$result_code` = `null`): string|false

system() es similar a la versión C de la función de mismo nombre, dado que ejecuta el `command` dado y muestra el resultado.

La llamada a system() también intenta volcar automáticamente el búfer de salida del servidor web después de cada línea de salida, si PHP está corriendo como un módulo de servidor.

Si necesita ejecutar un comando y recibir de vuelta todo los datos del mismo sin interferencias, use la función passthru().

### Parámetros

`comando`

  El comando que será ejecutado.

`result_code`

  Si el argumento `result_code` se encuentra presente, entonces el status devuelto por el comando ejecutado será almacenado en esta variable.

### Valores devueltos

Devuelve la última línea de la salida del comando en caso de tener éxito, y `false` si ocurre un error.

### Ejemplos

Ejemplo #1 Ejemplo de system()

    <?php
    echo '<pre>';

    // Muestra el resultado completo del comando "ls", y devuelve la
    // ultima linea de la salida en $ultima_linea. Almacena el valor de
    // retorno del comando en $retval.
    $ultima_linea = system('ls', $retval);

    // Imprimir informacion adicional
    echo '
    </pre>
    <hr />Ultima linea de la salida: ' . $ultima_linea . '
    <hr />Valor de retorno: ' . $retval;
    ?>

### 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

- exec() - Ejecuta un programa externo
- passthru() - Ejecuta un programa externo y muestra el resultado sin procesar
- popen() - Crea un puntero de archivo de proceso
- escapeshellcmd() - Protege los caracteres especiales del Shell
- pcntl_exec() - Ejecuta el programa indicado en el espacio actual de procesos
- el operador de comillas invertidas

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open