PHP foreach在一段时间后停止工作


PHP foreach stopped working after some time

这个PHP foreach循环应该遍历刚刚从表单上传到目录的所有图像,然后将它们全部附加到电子邮件中并在电子邮件中显示它们。当我几个月前第一次制作它时,它工作了,但现在由于某种原因,它不再工作了。它只会附上一张图片。

$files = array();
while ($files[] = readdir($dir2));
closedir($dir2);
foreach ($files as $file) {
    //MANIPULATE FILENAME HERE, YOU HAVE $file...
    if ($file != "." && $file != ".." && $file != 'resources' ){
        $withoutExt = preg_replace('/''.[^.''s]{3,4}$/', '', $file);
        $url = '../mobile_patrol_reports/'.$id.'/'.$file;
        $mail->AddEmbeddedImage($url, $withoutExt);
        $mail->Body .= '<img src="cid:'.$withoutExt.'">';
        break;
    }
}

也许这与添加SSL证书有关,我可能会错过一些东西?

这与您在foreach循环中的break;有关。当if中的条件第一次为真时,break将导致中止foreach的执行。

http://php.net/manual/en/control-structures.break.php