php 上傳base64編碼圖片到七牛雲
阿新 • • 發佈:2018-12-11
/** * 上傳base64點陣圖片到七牛雲 * $image base64點陣圖片流 */ public function uploadPicBase64($image) { // 去除base64, $num = strpos($image,','); $image = substr($image, $num+1); $str= isset($image)?$image:false; //生成圖片key $rand = rand(1111,9999); $now = time(); $name = 'pic/'.$now.$rand; $Key = base64_encode($name); $upToken = $this->getToken(); if($str) { $qiniu = $this->phpCurlImg("http://upload-z2.qiniu.com/putb64/-1/key/".$Key,$str,$upToken); //upload.qiniup.com 上傳域名適用於華東空間。華北空間使用 upload-z1.qiniu.com,華南空間使用 upload-z2.qiniu.com,北美空間使用 upload-na0.qiniu.com。 $qiniuArr = json_decode($qiniu,true); if(!empty($qiniuArr['key'])&&$qiniuArr['key']==$name) { return $qiniuArr['key']; } else { return false; } } return false; } //七牛base64上傳方法 public function phpCurlImg($remote_server,$post_string,$upToken) { $headers = array(); $headers[] = 'Content-Type:application/octet-stream'; $headers[] = 'Authorization:UpToken '.$upToken; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$remote_server); curl_setopt($ch, CURLOPT_HTTPHEADER ,$headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); curl_setopt($ch, CURLOPT_TIMEOUT, 30); $data = curl_exec($ch); curl_close($ch); return $data; }