Forum und email

system

(PHP 4, PHP 5)

system — Ejecutar un programa externo y mostrar su salida

Descripción

string system ( string $comando [, int &$val_retorno ] )

system() es similar a la versión C de la función de mismo nombre, dado que ejecuta el comando 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().

Lista de parámetros

comando

El comando que será ejecutado.

val_retorno

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

Valores retornados

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

Ejemplos

Example#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;
?>

Notes

Warning

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

Note: Si arrancamos un programa con esta funcion y queremos dejarlo ejecutandose en segundo plano, hay que asegurarse que el resultado del mismo es redireccionado a un fichero u otra salida o PHP se parara hasta que la ejecucion del programa termine.

Note: Cuando safe mode esta activado, solamente se pueden ejecutar los programas que se encuentren en safe_mode_exec_dir. Por razones practicas, no se permite el uso de .. en el PATH del programa.

Warning

Con safe mode activado, todas las palabras que siguan al comando inicial son tratadas como un solo argumento. Asi, echo y | echo x se interpreta como echo "y | echo x".