Yii框架使用Curl進行檔案上傳(微信公眾號)
阿新 • • 發佈:2018-11-10
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); }