php保存微信用户头像到本地或者服务器的完美方案!

<?
//方法一://推荐用该方法     
$header = array(   
 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:45.0) Gecko/20100101 Firefox/45.0',    
 'Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',    
 'Accept-Encoding: gzip, deflate',);
 $url='http://wx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTKkGpNuUhaBniatRsiaG7ksqmhUWzkk40kTRS6icQS7kJcsfxcibQo7vDFcKibr7NHb9YIXiaXsEtLcdL6A/0';
 $curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);curl_setopt($curl, CURLOPT_ENCODING, 'gzip');
 curl_setopt($curl, CURLOPT_HTTPHEADER, $header);$data = curl_exec($curl);$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);curl_close($curl);
 if ($code == 200) {//把URL格式的图片转成base64_encode格式的!    
 $imgBase64Code = "data:image/jpeg;base64," . base64_encode($data);
 }
 $img_content=$imgBase64Code;//图片内容
 //echo $img_content;exit;
 if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $img_content, $result))
 { 
 $type = $result[2];//得到图片类型png?jpg?gif? 
 $new_file = "./cs/cs.{$type}"; 
 if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $img_content))))
 {  echo '新文件保存成功:', $new_file; }} 
  
 //方法二://该方法比较消耗服务器资源,慎用! 
 $url='http://wx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTKkGpNuUhaBniatRsiaG7ksqmhUWzkk40kTRS6icQS7kJcsfxcibQo7vDFcKibr7NHb9YIXiaXsEtLcdL6A/0';
 $img_file = file_get_contents($url);  $img_content= base64_encode($img_file); 
 $type = 'jpeg';//得到图片类型png?jpg?gif? $new_file = "./cs/cs.{$type}"; 
 if (file_put_contents($new_file, base64_decode($img_content)))
 {  
 echo 'ok', $new_file; 
 }  
 ?>

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值