- 直接调用addMaterial方法上传永久素材
- 上传时素材路径为绝对路径
- curl post上传注意PHP版本
/** * @type 素材类型 * @fileName 文件名 * @title $type=video,视频标题 * @introduction $type=video,视频描述 * @return json */ public function addMaterial ($type,$fileName,$title='',$introduction='') { if ($type=='uploadimg') { $urlType='uploadimg'; }else{ $urlType='addMaterial'; } $url=$this->interfaceUrl($urlType);//接口url $realPath=$this->filePath($type,$fileName); $data['media']=$realPath; if ($type=='video') { $data['description']='{ "title":"'.$title.'", "introduction":"'.$introduction.'" }'; } $res=util::_curl($url,false,$data); return $res; }
/** * @mediaType 素材类型 * @param $fileName 1.jpg * @return string */ public function filePath ($mediaType,$fileName) { $mediaPath=$this->mediaPath($mediaType); $realPath=$mediaPath.$fileName; if (class_exists('CURLFile')) { $filePath=new CURLFile($realPath); }else{ $filePath='@'.$realPath;//php < 5.6 } return $filePath; }
/** * @mediaType 上传素材类型 * @return string */ public function mediaPath($mediaType) { switch ($mediaType) { case 'image': $mediaPath=IMAGE_PATH; break; case 'voice': $mediaPath=VOICE_PATH; break; case 'video': $mediaPath=VIDEO_PATH; break; case 'thumb': $mediaPath=THUMB_PATH; break; case 'uploadimg': $mediaPath=UPLOAD_IMG_PATH; break; default: $mediaPath=''; break; } return $mediaPath; }