大家好我已经创建了一个用网络摄像头捕获的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);
答案 0 :(得分:1)
使用函数unlink()
但是将文件名传递给它而不是文件处理程序。
所以从你的例子中可以看出:
编辑:您可能需要先关闭文件:
fclose( $fp );
unlink( 'user/'.$randomName.'.png' );
答案 1 :(得分:0)
据我所知,你所需要的只是:
$data = base64_decode( $_POST['imgBase64']);
// image resource from your string
$image = imagecreatefromstring($data);
imagejpeg($image, 'user/'.$randomName.'.jpg', 80);