PHP上传base64图片字符串到七牛

require_once  'qiniu/autoload.php' ;
header( 'Access-Control-Allow-Origin:*' );
 
define( 'QINIU_BUCKET' 'winroad' );  //这是你的存储空间名称
define( 'QINIU_ACCESSKEY' 'CMD9E7Oj7ftTm_e****WFWvL5C7rWDHnuy' );
define( 'QINIU_SECRETKEY' 'Gce828lG-_wTB****EKbrkF7MetST6sIPn0mS' );
define( 'QINIU_DOMAIN' , '   //测试域名 
define( 'QINIU_UPLOAD_URL' 'http://upload.qiniu.com/putb64/-1' );//上传路径
use  Qiniu\Auth;
 
$bucket  = QINIU_BUCKET;
$accessKey  = QINIU_ACCESSKEY;
$secretKey  = QINIU_SECRETKEY;
 
$auth  new  Auth( $accessKey $secretKey );
$upToken  $auth ->uploadToken( $bucket , null, 3600); //获取上传所需的token
 
define( 'QINIU_UP_TOKEN' $upToken ); //token
 
function  request_by_curl( $remote_server $post_string $upToken )
{
 
     $headers  array ();
     $headers [] =  'Content-Type:image/png' ;
     $headers [] =  'Authorization:UpToken '  $upToken ;
     $ch  = curl_init();
     curl_setopt( $ch , CURLOPT_URL,  $remote_server );
     //curl_setopt($ch, CURLOPT_HEADER, 0);
     curl_setopt( $ch , CURLOPT_HTTPHEADER,  $headers );
     curl_setopt( $ch , CURLOPT_RETURNTRANSFER, 1);
     //curl_setopt($ch, CURLOPT_POST, 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 ;
}
 
function  qiniu_upload( $base64 )
{
     $base64  = trim( $base64 );
     $base64  str_replace ( 'data:image/jpeg;base64,' '' $base64 );  //只要逗号后面的
     $ret  = request_by_curl(QINIU_UPLOAD_URL,  $base64 , QINIU_UP_TOKEN);
     $ret  = json_decode( $ret , true);
     if  ( $ret ) {
         return  $ret [ 'key' ];   //只要返回的key,将key与domain拼接就能得到 上传后的url了
     else  {
         return  false;
     }
}

然后调用:

1
$s_license  = QINIU_DOMAIN . qiniu_upload( $_GPC [ 's_license' ]); //返回一个完整链接
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值