次のようなインラインで表示されるhtml本文にあった実際の画像のbase64データから、電子メールのデータから画像を作成して保存しようとしています。
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAE==">
しかし、変数 $html_part が電子メールの HTML 本文である HTML 本文に複数のイメージ タグがある可能性があるため、それらを順番に作成しようとしています。私が間違っていることを解決するための助けが必要です。
$img_tags = preg_match('/<img\s+(.*)>/', $html_part, $num_img_tags);
$num_img_tags = count($num_img_tags);
echo $html_part;
for ($i = 1; $i <= $num_img_tags; $i++) {
preg_match('/<img\s+(.*)\s+src="data:image\/(.*);(.*),(.*)"\s+(.*)>/i', $html_part, $srcMatch);
{
foreach($srcMatch[4] as $im_data)
{
$ufname = "image0".$num_img_tags.".jpg";
echo "<h1>$ufname</h1>";
$im_data = base64_decode($im_data);
$im = imagecreatefromstring($im_data);
if ($im !== false) {
header('Content-Type: image/jpeg');
imagejpeg($im, $ufname);
imagedestroy($im);
}
else {
echo 'An error occurred.';
}
}
}
}