Foros del Web » Programando para Internet » PHP »

Separar Array en partes

Estas en el tema de Separar Array en partes en el foro de PHP en Foros del Web. Buenas, estoy intentando hacer un sistema que cree grupos de direcciones de email asignando la cantidad de direcciones por grupo. Ej: tengo un grupo de ...
  #1 (permalink)  
Antiguo 29/12/2008, 17:24
agd
 
Fecha de Ingreso: mayo-2008
Mensajes: 98
Antigüedad: 16 años
Puntos: 2
Separar Array en partes

Buenas, estoy intentando hacer un sistema que cree grupos de direcciones de email asignando la cantidad de direcciones por grupo. Ej:

tengo un grupo de 1000 direcciones separadas por coma, las meto todas en un array y luego voy sacando de a 10 direcciones y las pongo en un grupo.

La idea es mandar de a 10 direcciones por BCC entonces redusco el numero de envios pero tampoco sobrecargo tanto el servidor enviando las 1000 direcciones juntas por BCC.

Este es el codigo que hice, pero el problema es que repite algunas direcciones de correo en algunos grupos.

Código PHP:
$emailA explode(",",$_POST['emails']); //meto las direcciones en un array
$emailsCount count($emailA);
        
// -----------------------------------------
$cantidad $selectCount;
$pausarcada 10//aqui defino cuantas direcciones meto por grupo
$pausa 1// aqui defino cada cuantos segundos envio cada grupo - Debe ser menor de 30 seg
$total = ($cantidad/$pausarcada); //el resultado seria la cantidad de grupos BCC que se enviaran
$x 0;
$pausaTmp $pausarcada;
// -----------------------------------------

                    
for($j 1$j <= $total$j++){ //con este for creo los grupos
    
set_time_limit(30);
    echo 
"Grupo: ".$j."<br>";
            
    while(
$x<$pausaTmp){ //aqui creo el BCC poniendo la cantidad de direcciones que asigne previamente
        
$email $emailA[$x].",";
        
$bcc.= $email;    
        
$x $x 1;
        echo 
$bcc."<br><br>";
    }
            
    
/*AQUI REALIZO EL ENVIO DEL GRUPO*/
    
$bcc ""//limpio la variable
                            
    
$pausaTmp $pausaTmp $pausarcada;         
    
sleep($pausa);    //Pauso el envio dependiendo del tiempo asignado previamente
}
echo 
"Enviado exitosamente"
Pueden probar este mismo codigo y les imprimira las direcciones de email en grupos

Bueno, como veran no soy nada bueno con php pero espero que puedan ayudarme

Muchas Gracias!!
__________________
http://clanofhaunted.com
  #2 (permalink)  
Antiguo 29/12/2008, 17:38
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Separar Array en partes

Código PHP:
$offset 0;
while(
$offset $emailsCount) {
    
$grupo = ($offset == 0) ? : ($offset 10) + 1;
    echo 
'Grupo: ' $grupo '<br />';
    
$bcc '';
    
$final = (($offset 10) > $emailsCount) ? $emailsCount $offset 10;
    for(
$x $offset$x $final$x++) {
        
// Aqui agregas los mails
    
}
    
// Aqui envias el correo
    
$offset += 10;

__________________
- León, Guanajuato
- GV-Foto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:19.