【原创】php无框架webuploader上传图片以base64形式保存到数据库

首先下载webuploader插件文件,引入插件:

<link rel="stylesheet" type="text/css" href="../webuploader/0.1.5/webuploader.css" />
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js">script> 
<script type="text/javascript" src="../webuploader/0.1.5/webuploader.min.js">script>

webuploader插件js部分:

js base64上传图片

for (var i=0;i<$('img#preview').length;i++) {
        a.push($('img#preview')[i].src);
    }
var arr = JSON.stringify(a);

后台action处理:

 $fk_lc_id = mysqli_insert_id($link);
 $arr = json_decode($_POST['arr']);
 if($_POST['arr']){
      for ($i=0; $i < count($arr); $i++) { 
              $base64_image_content = $arr[$i];
                if(preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){
                    $type = $result[2];
                  $filename = date('Ymd').uniqid().mt_rand(0,9999);
                  $new_file = "./image/{$filename}.{$type}";
                  if(file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){
                      $sql = "INSERT INTO hospital_sfrecordurl(id,sfrecordurl,sfrecordID) VALUES(NULL,'{$new_file}','{$fk_lc_id}')";
                      $result = mysqli_query($link,$sql);
                    if($result){
                      }else{
                          echo "";
                      }
                    }else{
                        echo "";
                    }
                  }
       }
}

当时是用的MUI框架 在ios10.0上面测试,表单跟js的方法都不管用 就找到了base64上传。

你可能感兴趣的:(图片上传)