Я пытаюсь получить изображение из электронного письма, которое отправляется на мой почтовый сервер, и сохранить файл на сервере.Я попробовал это с этим кодом:
$no_of_occurences = 0;
$intStatic = 2;
$decode = imap_fetchbody($mbox, $val , null);
$no_of_occurences = substr_count($decode,"Content-Transfer-Encoding: base64");
$no_of_occurences--;
echo $no_of_occurences;
if($no_of_occurences > 0){
for($i = 0; $i < $no_of_occurences; $i++){
$strChange = strval($intStatic+$i);
$decode = imap_fetchbody($mbox, $val , $strChange);
$data = base64_decode($decode);
$x = 1;
$fName = './images/'.$ticketurl."_".$x. '.png';
while(file_exists($fName)){
$x++;
$fName = './images/'.$ticketurl."_".$x. '.png';
}
if($x==500){
$valid = false;
exit;
}
$file = $fName;
$success = file_put_contents($file, $data);
}
}
Этот код работает нормально, но только если у вас есть один тип приложения в нем.Если вы поместите одно изображение на почту, оно будет работать.Если вы поместите один в качестве вложения, это также работает.Но если у вас есть оба (встроенный и как вложение), он просто получает одно изображение и второй чистый png-файл.Любые предложения, как решить это поведение?