Я пытаюсь загрузить несколько изображений base64 в цикл for с помощью функции file_put_contents (), но иногда файлы загружаются как 0 байт Функция image и file_put_contents () возвращают false.Как это решить?Помощь приветствуется.
$filename = 'appimages/'.date('Y-m-d').'/'.$user_id.'/'.$clientCode;
if (!file_exists($filename)) {
mkdir($filename, 0777, true);
}
$id = $db->lastInsertId();
$error = 0;
$ef = 0;
foreach ($images as $img) {
if(!empty($img)){
$image = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $img->imgs));
// $image = base64_decode($img->imgs);
$image_path = $filename.'/'.mt_rand( 100000 , 999999 ).'.png';
if(file_put_contents($image_path, $image)){
$main_image_path = 'https://consult-trico.com/bank/api/'.$image_path;
$stmt11 = $db->prepare("INSERT INTO daily_transaction_images(dt_ID, deposit_slip_no, image, created_at) VALUES(:dt_ID,:deposit_slip_no,:image,:created_at)");
$stmt11->execute(['dt_ID' => $id,'deposit_slip_no' => $img->name, 'image' => $main_image_path, 'created_at' => date('Y-m-d H:i:s')]);
}else{
$error++;
}
}
++$ef;
}