• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

使用PHP从微信服务器上下载文件到本地服务器

php 搞代码 3年前 (2022-01-23) 26次浏览 已收录 0个评论

总所周知,文件上传到微信之后,使用$src= “https://api.weixin.qq.com/cgi-bin/media/get?access_token=” . $access_token . “&media_id=” . $f ['file'];就可以获取到文件信息,若是图片,使用img标签的将其src属性设置为$src就可以在页面显示图片了。

这篇就用这个作为文件的URL进行文件下载:

$url = “https://api.weixin.qq.com/cgi-bin/media/get?access_token=” . $access_token . “&media_id=” . $f ['file'];

其中$access_token是根据微信公众平台注册的APPID、秘钥等加密之后获取到的签名,$f ['file']是上传到微信服务器之后返回来的文件在服务器上的微信信息,是一个字符串,有点类似于:文件上传到服务器之后,在文件表中插入一条数据记载这个文件的名称、路径、所属AppId等基本信息,并将这条数据的主键序号返回给客户端。$f ['file']就是这个主键序号。

文件下载的调用方法:

var $array = $this->getImage($url,$path,$fileName,1);

文件下载的具体代码:

/**功能:下载远程图片保存到本地*参数:*$url:需要下载的文件url,*$path:下载下来的文件需要保存到的目录*$fileName:保存文件名称,当保存文件名称为空时则使用远程文件原来的名称*type:使用的下载方式*/function getImage($url,$save_dir='',$filename='',$type=0){$ext=".jpg";//以jpg的格式结尾clearstatcache();//清除文件缓存if(trim($url)==''){return array('file_name'=>'','save_path'=>'','error'=>1);}if(trim($save_dir)==''){$save_dir='./';}if(trim($filename)==''){//保存文件名$filename=time().$ext;}else{$filename = $filename.$ext;}if(0!==strrpos($save_dir,'/')){$save_dir.='/';}//创建保存目录if(!is_dir($save<mark style="color:transparent">来4源gaodaimacom搞#代%码*网</mark><code>搞代gaodaima码</code>_dir)){//文件夹不存在,则新建//print_r($save_dir."文件不存在");mkdir(iconv("UTF-8", "GBK", $save_dir),0777,true);//mkdir($save_dir,0777,true);}//获取远程文件所采用的方法 if($type){$ch=curl_init();$timeout=3;curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);$img=curl_exec($ch);curl_close($ch);}else{ob_start(); readfile($url);$img=ob_get_contents(); ob_end_clean(); }$size=strlen($img);//文件大小 //var_dump("文件大小:".$size);$fp2=@fopen($save_dir.$filename,'w');fwrite($fp2,$img);fclose($fp2);unset($img,$url);return array('file_name'=>$filename,'save_path'=>$save_dir.$filename,'error'=>0);}

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用PHP从微信服务器上下载文件到本地服务器
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址