Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/07/2013, 12:26
gmonterog
 
Fecha de Ingreso: mayo-2012
Ubicación: Palma de Mallorca
Mensajes: 71
Antigüedad: 12 años
Puntos: 1
Pasar un array como argumento para un archivo usando exec() o system()

Hola;

Quiero ejecutar un archivo php en segundo plano para hacer envío de mails a listas de correos.

El caso es que el script necesita recibir una lista de direcciones como un array para recorrerlo con un bucle e ir haciendo los envíos con el php mailer.

Tenía previsto inciar el script con exec() o con system(), mas o menos algo así:

Código PHP:
//Variables para pasar al script mailer.php
$para="'[email protected]'";
$asunto="'Aquí el asunto del mensaje'";
$mensaje="'Aquí el cuerpo del mensaje...'";
$direcciones=$_SESSION['direcciones']; //$_SESSION['direcciones'] es un array que almacena todas las direcciones de correo de una determinada lista

//Iniciamos el script mailer.php en segundo plano
exec("php -f /var/www/vhosts/mi_host.com/httpdocs/exec/mailer.php -- $para $asunto $mensaje $direcciones >/dev/null &"); 
El problema es que no se como pasar argumentos que sean arrays a la función exec(), porque haciéndolo así, directamente, el valor que toma el argumento $direcciones es Array (exactamente como si hicieras un echo de $direcciones).

¿Alguien sabe si se puede hacer lo que quiero y de que manera?

En caso de que no se pueda... ¿de que manera puedo ejecutar un script en segundo plano y pasarle la lista de direcciones que tengo en el array $direcciones?

Gracias a todos de antemano.

Saludos,

GMG