Привет, ребята, я создал закодированное в base64 изображение, снятое с помощью веб-камеры. Теперь я конвертирую .png в .jpg. Все работает нормально, но теперь я получаю на сервере два изображения: .png и .jpg. Как мне удалить .png или их? способ конвертировать в jpg без сохранения .png изображения на диск, спасибо мой код
$rawData = $_POST['imgBase64'];
$filteredData = explode(',', $rawData);
$unencoded = base64_decode($filteredData[1]);
$randomName = rand(1000, 99999999999);
//Create the image
$fp = fopen('user/'.$randomName.'.png', 'w');
fwrite($fp, $unencoded);
//convert image from png to jpg
$image = imagecreatefrompng('user/'.$randomName.'.png');
imagejpeg($image, 'user/'.$randomName.'.jpg', 80);
unlink($fp);
я попробовал это с
unlink($image);
unlink($_SERVER['DOCUMENT_ROOT'] . "/user/.$randomName.'.png'");
imagedestroy($fp);
imagedestroy($image);
Используйте функцию unlink()
но передавая ему имя файла вместо обработчика файла.
Так что из вашего примера это будет:
РЕДАКТИРОВАТЬ: Возможно, вам придется сначала закрыть файл:
fclose( $fp );
unlink( 'user/'.$randomName.'.png' );
насколько я понимаю, все, что вам нужно, это:
$data = base64_decode( $_POST['imgBase64']);
// image resource from your string
$image = imagecreatefromstring($data);
imagejpeg($image, 'user/'.$randomName.'.jpg', 80);