php base64 解码

public(protected) function imgBase64Decode($base64_image_content = '',$save_img = false,$path=''){
        if(empty($base64_image_content)){
            return false;
        }

        //匹配出图片的信息
        $match = preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result);
        if(!$match){
            return false;
        }

        //解码图片内容(方法一)
        /*$base64_image = preg_split("/(,|;)/",$base64_image_content);
        $file_content = base64_decode($base64_image[2]);
        $file_type = substr(strrchr($base64_image[0],'/'),1);*/

        //解码图片内容(方法二)
        $base64_image = str_replace($result[1], '', $base64_image_content);
        $file_content = base64_decode($base64_image);
        $file_type = $result[2];

        //如果不保存文件,直接返回图片内容
        if(!$save_img){
            return $file_content;
        }

        //如果没指定目录,则保存在当前目录下
        if(empty($path)){
            $path = __DIR__;
        }
        $file_path = $path;
//        $file_path = $path."/".date('Ymd',time())."/";
        if(!is_dir($file_path)){
            //检查是否有该文件夹,如果没有就创建
            mkdir($file_path,0777,true);
        }
        $file_name = time().".{$file_type}";
        $new_file = $file_path.$file_name;
        if(file_exists($new_file)){
            //有同名文件删除
            @unlink($new_file);
        }
        if (file_put_contents($new_file, $file_content)){
            return $new_file;
        }
        return false;
    }