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

时间:2016-09-05 14:38:45

标签: php foreach phpmailer

这个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证书有关,我可能会遗漏一些东西?

1 个答案:

答案 0 :(得分:4)

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

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