取消链接base64编码的图像不起作用

时间:2014-09-24 22:46:19

标签: php base64 unlink

大家好我已经创建了一个用网络摄像头捕获的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);

2 个答案:

答案 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);
相关问题