function base64img($str){
static $arrurl=array();
$arr=explode('#', $str);
foreach ($arr as $content) {
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $content, $result)){
$type = $result[2];
//创建文件名称
$new_file = md5(uniqid(microtime(true),true)).".{$type}";
//创建图片保存文件夹
$dir = date('Y-m-d', time());
$path="./Uploads/".$dir;
if(is_dir($path)){
$path=$path;
}else{
mkdir($path,0777,true);
$path=$path;
}
//新的文件路径
$new_file=$path.'/'.$new_file;
}
//保存文件
if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $content)))){
$arrurl[]=ltrim($new_file,'.');
}
}
return $arrurl;
}
<?php header('Content-type:text/html;charset=utf-8'); //读取图片文件,转换成base64编码格式 $image_file = './4296762_165319032930_2.jpg'; $image_info = getimagesize($image_file); $base64_image_content = "data:{$image_info['mime']};base64," . chunk_split(base64_encode(file_get_contents($image_file))); //保存base64字符串为图片 //匹配出图片的格式 if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){ $type = $result[2]; $new_file = "./test.{$type}"; if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){ echo '新文件保存成功:', $new_file; } } ?>
<img src="<?php echo $base64_image_content;?>" />