最近一段时间,开始入手了微信开发。感觉挺有意思的,虽然目前还是遇到了许多解决不了的问题。
上传下载多媒体文件,这个作为高级接口的一部分功能,可能使用的人并不多,所以现在网上关于这个接口的使用教程很少。于是我就写了这个接口的使用方法,主要是两个函数//上传多媒体文件<br>
function uploadMedia($url){<br>
$file = realpath('1.mp3'); //要上传的文件<br>
$fields['media'] = '@'.$file;<br>
$ch = curl_init($url) ;<br>
curl_setopt($ch, CURLOPT_POST, 1);<br>
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");<br>
curl_setopt($ch, CURLOPT_POST, 1);<br>
curl_setopt($ch, CURLOPT_POSTFIELDS,$fields);<br>
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);<br>
$result = curl_exec($ch) ;<br>
if (curl_errno($ch)) {<br>
return curl_error($ch);<br>
}<br>
curl_close($ch);<br>
return $result;<br>
}<br>
<br>
//下载多媒体文件<br>
function saveMedia($url){<br>
$ch = curl_init($url);<br>
curl_setopt($ch, CURLOPT_HEADER, 0); <br>
curl_setopt($ch, CURLOPT_NOBODY, 0); //对body进行输出。<br>
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);<br>
$package = curl_exec($ch);<br>
$httpinfo = curl_getinfo($ch);<br>
<br>
curl_close($ch);<br>
$media = array_merge(array('mediaBody' => $package), $httpinfo);<br>
<br>
//求出文件格式<br>
preg_match('/\w\/(\w+)/i', $media["content_type"], $extmatches);<br>
$fileExt = $extmatches[1];<br>
$filename = time().rand(100,999).".{$fileExt}";<br>
$dirname = "./wximages/";<br>
if(!file_exists($dirname)){<br>
mkdir($dirname,0777,true);<br>
}<br>
file_put_contents($dirname.$filename,$media['mediaBody']);<br>
return $dirname.$filename;<br>
}
函数中的url就是官方说明文档中的url,然后跟上相关参数即可
AD:真正免费,域名+虚机+企业邮箱=0元