欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

【微信开发】上传下载多媒体文件

程序员文章站 2023-12-28 14:16:52
...
最近一段时间,开始入手了微信开发。感觉挺有意思的,虽然目前还是遇到了许多解决不了的问题。
上传下载多媒体文件,这个作为高级接口的一部分功能,可能使用的人并不多,所以现在网上关于这个接口的使用教程很少。于是我就写了这个接口的使用方法,主要是两个函数
//上传多媒体文件
function uploadMedia($url){
$file = realpath('1.mp3'); //要上传的文件
$fields['media'] = '@'.$file;
$ch = curl_init($url) ;
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$fields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch) ;
if (curl_errno($ch)) {
return curl_error($ch);
}
curl_close($ch);
return $result;
}

//下载多媒体文件
function saveMedia($url){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_NOBODY, 0); //对body进行输出。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$package = curl_exec($ch);
$httpinfo = curl_getinfo($ch);

curl_close($ch);
$media = array_merge(array('mediaBody' => $package), $httpinfo);

//求出文件格式
preg_match('/\w\/(\w+)/i', $media["content_type"], $extmatches);
$fileExt = $extmatches[1];
$filename = time().rand(100,999).".{$fileExt}";
$dirname = "./wximages/";
if(!file_exists($dirname)){
mkdir($dirname,0777,true);
}
file_put_contents($dirname.$filename,$media['mediaBody']);
return $dirname.$filename;
}
函数中的url就是官方说明文档中的url,然后跟上相关参数即可

AD:真正免费,域名+虚机+企业邮箱=0元

上一篇:

下一篇: