ajax以二进制形式上传图片后台PHP处理方法

/**
     * [将Base64图片转换为本地图片并保存]
     * @param $base64_image_content [要保存的Base64]
     * @param $path [要保存的路径]
     * @return bool|string
     */
    public function base64_image_content($base64_image_content,$path){
        //匹配出图片的格式
        if (preg_match('/^(data:s*image/(w+);base64,)/', $base64_image_content, $result)){
            $type = $result[2];

            //$month = date('Ym',time());
            //$img_dir = "/upload/avatar/".$month.'/';
            $upload_url = ROOT_PATH.'Public'.$path;

            if(!is_dir($upload_url)){
                mkdir($upload_url, 0700,true);//检查是否有该文件夹,如果没有就创建,并给予最高权限
            }
            $ping_url = cmf_random_string(8).time().".{$type}";
            $ftp_image_upload_url = $upload_url.$ping_url;
            $local_file_url = $upload_url.$ping_url;

            if (file_put_contents($local_file_url, base64_decode(str_replace($result[1], '', $base64_image_content)))){
                return $path.$ping_url; //$ftp_image_upload_url
            }else{
                return false;
            }
        }else{
            return false;
        }
    }
原文地址:https://www.cnblogs.com/pangchunyu/p/15160905.html