J'utilise le code suivant:PHP semble aller dans une boucle infinie foreach
$array = explode("\n", file_get_contents($file));
// Here $file contains n e-mail addresses
foreach ($array as $value) {
$check = file_get_contents('file.txt');
$subject = 'Subject (' . $entry . ')';
$to = $value;
if ($check < $credits){
$message = '...';
}
else{
$message = '...';
}
$headers = 'MIME-Version: 1.0' . "с\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= 'From: '...' . "\r\n";
mail($to, $subject, $message, $headers);
}
Un fichier est lu containg quantité n d'adresses e-mail. Pour chaque e-mail, un message est envoyé. Rien n'est changé dans le fichier.
La plupart du temps, cela fonctionne parfaitement et envoie un seul message à chaque adresse. Parfois, cependant, il semble aller dans une boucle infinie et commence à envoyer plusieurs messages aux mêmes adresses.
Si nécessaire, je peux fournir des détails supplémentaires.
Il n'y a rien que je puisse voir dans ce code qui provoquerait une boucle infinie. La seule façon que je peux voir si envoyer des e-mails plusieurs fois à la même personne est si elles apparaissent plusieurs fois dans '$ file'. –
'$ check = file_get_contents ('file.txt');' pourquoi lire ceci à chaque itération? –
Btw, erreur de syntaxe dans '$ headers. = 'De:' ... '. "\ r \ n"; '(un trait d'union trop). – syck