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

微信开发,使用下面方法保存文件是无法保存

程序员文章站 2022-06-14 09:54:58
...
使用下面方法 文件已生成,无法保存文件,菜鸟一只,希望帮忙解答下。
function savePic($serverId,$picName){
$accessToken = $this->getAccessToken();
$targetName = './upload/'.$picName.'.jpg';
$ch = curl_init("http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=$accessToken&media_id=$serverId");
$fp = fopen($targetName, 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
fclose($fp);
}


回复讨论(解决方案)

无法保存文件 是什么意思?

无法保存文件 是什么意思?


文件新建成功了,方法执行完了以后 文件大小还是0kb

注释掉 curl_setopt($ch, CURLOPT_FILE, $fp);
$s = curl_exec($ch);
检查 $s 的长度

我怀疑是读取失败了

注释掉 curl_setopt($ch, CURLOPT_FILE, $fp);
$s = curl_exec($ch);
检查 $s 的长度

我怀疑是读取失败了


用strlen 读取长度是69416,是不是我写的curl有问题

你这样看看
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);

你这样看看
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);


好了,谢谢了,