Yii框架使用Curl进行文件上传(微信公众号)

public function actionUpload(){
    $type = Yii::$app->request->post('type');
    //获取token
    $token = Yii::$app->cache->get($this->tokenKey);
    //接收文件
    $url = "https://api.weixin.qq.com/cgi-bin/media/upload";
    $file = UploadedFile::getInstanceByName('file');
    $filepath = Yii::$app->basePath.'\web\uploads\\';
    $filename = $filepath.time().'.'.$file->getExtension();
    //move_uploaded_file($filename,$file->tempName);
    $file->saveAs($filename);
    //将文件上传至服务器
    $curl = new Curl();
    $curl->setOption(CURLOPT_SSL_VERIFYPEER,false);
    $curl->setOption(CURLOPT_SSL_VERIFYHOST,false);
    $param  = array('access_token'=>$token,'type'=>$type);
    $curl->setGetParams($param);
    $data = array(
        'media'=>new \CURLFile(realpath($filename),'image/jpg')
    );
    $curl->setRawPostData($data);
    $obj = $curl->post($url,false);
    //print_r($obj);
    //直接获取上传的数据
    //将上传的数据进行展示
    $media_id = $obj['media_id'];
    //获取该文件信息
    header('Content-type:image/jpg');
    echo $this->actionGetfiles($token,$media_id);
}

猜你喜欢

转载自blog.csdn.net/qq1719448063/article/details/83926507