Si el argumento salida está
presente, entonces la matriz especificada será llenada
con cada lÃnea de la salida del comando. El espacio en
blanco extra, como \n, no es incluido en
esta matriz. Note que si la matriz ya contiene algunos
elementos, exec() anexará sus
resultados al final de la matriz. Si no desea que la
función anexe los elementos, use
unset() sobre la matriz antes de pasarla a
exec().
var_retorno
Si el argumento var_retorno está
presente junto con el argumento salida,
entonces el status de retorno del comando ejecutado será
escrito en esta variable.
Valores retornados
La última lÃnea de los resultados del comando. Si
necesita ejecutar un comando y tener todos los datos desde el
comando pasados directamente de vuelta sin interferencia alguna,
use la función passthru().
Para obtener la salida del comando ejecutado, asegúrese de
definir y usar el parámetro salida.
Ejemplos
Ejemplo 1. Un ejemplo de exec()
<?php // imprime el nombre de usuario que tiene control del proceso php/httpd activo // (en un sistema con el ejecutable "whoami" disponible en la ruta) echo exec('whoami'); ?>
Notes
Aviso
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.
Nota: 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.
Nota: 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.
Aviso
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".
Atención técnica y comercial: (54)-11-5031-1111 las 24 hs. los 365 días del año. ToWebs, (c) 2008
Virtucom Networks S.A Av. Belgrano 1586, piso 10 (C1093AAQ) Cap. Fed. Bs. As, Argentina.