http://wx.qlogo.cn/mmopen/GqIlejFTbNjdBQnr6eDLvicD8HN8gqGNpIsopAtcxBwfwh3lpzJ5Xiae7tx4LNutDKDpRt1q6v6u848mh5ciaPrRA/0
因为此链接是QQ内部图像, 在网站中打不开,
解决办法是,将此图像下载到你的服务器上, 然后再引用服务器上的图像就可以了, 为了加快下载速度,这里用的是异步下载
下载函数
/**
* 异步将远程链接上的内容(图片或内容)写到本地
*
* @param unknown $url
* 远程地址
* @param unknown $saveName
* 保存在服务器上的文件名
* @param unknown $path
* 保存路径
* @return boolean
*/
function put_file_from_url_content($url, $saveName, $path) {
// 设置运行时间为无限制
set_time_limit ( 0 );
$url = trim ( $url );
$curl = curl_init ();
// 设置你需要抓取的URL
curl_setopt ( $curl, CURLOPT_URL, $url );
// 设置header
curl_setopt ( $curl, CURLOPT_HEADER, 0 );
// 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
curl_setopt ( $curl, CURLOPT_RETURNTRANSFER, 1 );
// 运行cURL,请求网页
$file = curl_exec ( $curl );
// 关闭URL请求
curl_close ( $curl );
// 将文件写入获得的数据
$filename = $path . $saveName;
$write = @fopen ( $filename, "w" );
if ($write == false) {
return false;
}
if (fwrite ( $write, $file ) == false) {
return false;
}
if (fclose ( $write ) == false) {
return false;
}
}同步代码(这时是使用THINKPHP 3.2做为框架来开发)public function weixin_server_users_list_submit() {
// 最大执行时间, 时间 0 为无时间上限
set_time_limit ( 0 );
// 按钮操作
$submitName = I ( 'submit' );
if ($submitName == "getServerUsers") {
// 将公众平台上的微信关注用户同步到数据库中
// 引入微信类
$IncludePath = C ( 'IncludePath' );
require_once $IncludePath . 'weixin/' . 'wechat.class.php';
// 得到config中的配置参数
$weixin_Type = C ( 'weixin_Type' );
$weixin_Token = C ( 'weixin_Token' );
$weixin_AppId = C ( 'weixin_AppId' );
$weixin_AppSecret = C ( 'weixin_AppSecret' );
// 定义类
$options = array (
'token' => $weixin_Token,
'appid' => $weixin_AppId,
'appsecret' => $weixin_AppSecret
);
$weObj = new \Wechat ( $options );
// 认证号功能
if ($weixin_Type == 'rzh') {
// 得到用户列表
$weixinUsersArrayAll = $weObj->getUserList ( '' );
// 得到OPENID列表
$weixinUsersArray = $weixinUsersArrayAll ['data'] ['openid'];
// 全部用户
$total = $weixinUsersArrayAll ['total'];
// 本次同步
$count = $weixinUsersArrayAll ['count'];
// 下次同步的启始号
$next_openid = $weixinUsersArrayAll ['next_openid'];
for($i = 1; $i < $count; $i ++) {
// 将用户信息写入数据库
$OpenId = $weixinUsersArray [$i];
$weixinUserArray = $weObj->getUserInfo ( $OpenId );
put_weixin_server_users ( $weixinUserArray );
// 将头像下载到服务器上--以后将删除
$url = $weixinUserArray ['headimgurl'];
$saveName = $weixinUserArray ['openid'] . '.jpg';
$path = C ( 'weixinAvatarPath' );
put_file_from_url_content ( $url, $saveName, $path );
}
}
$message = "恭喜您,同步成功!";
$this->success ( $message );
} elseif ($submitName == "deleteLocalhostUsers") {
// 清除数据库中的用户记录
$model = new WeixinServerUsersModel ();
$map = " '1' = '1' ";
$model->delete ( $map );
$message = "恭喜您,操作成功!";
$this->success ( $message );
}
}本文首发自微信开发社区 http://www.abis.com.cn/thread-597-1-1.html欢迎加入微信开发交流群: 162384579
微信开发社区: http://www.abis.com.cn
微信DEMO: http://demo.abis.com.cn/admin.php admin 123456
欢迎关注[漂亮女孩]微信号: pgirlcn 体验新功能
最佳答案