去我使用下面的代碼:PHP似乎無限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);
}
一個文件是隻讀方含電子郵件地址的施氮量。每封電子郵件都會發送一條消息。文件中沒有任何更改。
大多數情況下,它的工作原理絕對正常,只向每個地址發送一條消息。但有時候,它似乎陷入了無限循環,並開始向同一地址發送多條消息。
如有需要,我可以提供更多詳情。
在代碼中沒有任何東西可以導致無限循環。我可以看到多次向同一人發送電子郵件的唯一方法是,它們在'$ file'中多次出現。 –
'$ check = file_get_contents('file.txt');'爲什麼在每次迭代中讀取? –
順便說一下,'$ headers。='中的語法錯誤來自:'...'。 「\ r \ n」;'(一個連字符太多)。 – syck