php实现QQ空间获取当前用户的用户名并生成图片
本文实例讲述了php实现QQ空间获取当前用户的用户名并生成图片的方法。分享给大家供大家参考。具体如下:
最近发现空间里经常会转载一些含有当前用户昵称和qq号的图片,很好奇,研究了一下原理
原理很简单,图片是利用php生成的,好吧,直接上代码
图片源代码:
<?php
$ment=$_SERVER["HTTP_REFERER"];
if($ment=='http://cnc.qzs.qq.com/qzone/newblog/v5/editor.html'){
header("HTTP/1.0500InternalServerError");
exit;}
preg_match("#[0-9]{5,11}#",$ment,$rr);
$r=$rr[0];
$webtext=file_get_contents('http://www.phperzone.cn/demo/qqinfo-service.php?qq='.$r);
preg_match('#"nickname":"(.*?)"#',$webtext,$rr);
$rrr=$rr[1];
ob_clean();
header("Content-type:image/png");
$im=imagecreatefromjpeg("1.jpg");
$black=ImageColorAllocate($im,56,73,136);
$rrr=mb_convert_encoding($rrr,"utf-8","UTF-8");
imagettftext($im,20,0,90,68,$black,"./simsun.ttc",$rrr);
imagettftext($im,26,0,87,125,$black,"./simsun.ttc",$r);
imagejpeg($im);
imagedestroy($im);
?>
请求的接口获取通过qq号获取昵称:
<?php
header("Content-Type:text/html;charset=utf-8");
$qq=$_GET["qq"];
echohtmlspecialchars(file_get_contents('http://r.qzone.qq.com/cgi-bin/user/cgi_personal_card'."?uin=".$qq));
?>
希望本文所述对大家的php程序设计有所帮助。