我在这里使用文件上传,用户上传大图片意味着我想重新调整尺寸,也不想移动此图片中的任何临时文件夹,以便我可以使用 base64_encode() ,现在我正在得到正确的答案,我想做一件事,我想加密base64_encode图像值的值,怎么能做到这一点?
这里我得到了base64编码的图像值
$encodeimage = base64_encode(file_get_contents($filename));
<?php
define ("MAX_SIZE","1000");
$errors=0;
$image =$_FILES["file"]["name"];
$uploadedfile = $_FILES['file']['tmp_name'];
$filetype = $_FILES['file']['type'];
if ($image)
{
$filename = stripslashes($_FILES['file']['name']);
$extension = getExtension($filename);
$extension = strtolower($extension);
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif"))
{
$error_msg = ' Unknown Image extension ';
$errors=1;
}
else{
$size=filesize($_FILES['file']['tmp_name']);
if ($size > MAX_SIZE*1024)
{
$error_msg = "You have exceeded the size limit";
$errors=1;
}
if($extension=="jpg" || $extension=="jpeg" )
{
$uploadedfile = $_FILES['file']['tmp_name'];
$src = imagecreatefromjpeg($uploadedfile);
}
else if($extension=="png")
{
$uploadedfile = $_FILES['file']['tmp_name'];
$src = imagecreatefrompng($uploadedfile);
}
else
{
$src = imagecreatefromgif($uploadedfile);
}
list($width,$height)=getimagesize($uploadedfile);
$newwidth=600;
/*$newheight=($height/$width)*$newwidth;*/
$newheight=600;
$tmp=imagecreatetruecolor($newwidth,$newheight);
imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);
$filename = $_FILES['file']['name'];
imagejpeg($tmp,$filename,100);
$encodeimage = base64_encode(file_get_contents($filename));//here we got encodede image value
$encrypt_image = "data:".$filetype.";base64,".$encodeimage;
imagedestroy($src);
imagedestroy($tmp);
}
}
function getExtension($str) {
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}
$id_proof = array(/*"filename" =>$filename,*/
"base64_encodedimage" =>$encrypt_image,
"encryptedData" => $encrypted,
/*"error_msg" =>$error_msg,*/
);
echo json_encode($id_proof)
?>
答案 0 :(得分:0)
如果您想在编码后获取内容,请使用下面的代码来隐藏和显示
$unencodedData=base64_decode($filteredData);
file_put_contents("abc.jpg", $unencodedData);