本文实例讲述了php实现QQ空间获取当前用户的用户名并生成图片的方法。分享给大家供大家参考。具体如下:
最近发现空间里经常会转载一些含有当前用户昵称和qq号的图片,很好奇,研究了一下原理
原理很简单,图片是利用php生成的,好吧,直接上代码
图片源代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<?php
$ment = $_SERVER [ "HTTP_REFERER" ];
if ( $ment == 'http://cnc.qzs.qq.com/qzone/newblog/v5/editor.html' ){
header( "HTTP/1.0 500 Internal Server Error" );
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号获取昵称:
1
2
3
4
5
|
<?php
header( "Content-Type:text/html;charset=utf-8" );
$qq = $_GET [ "qq" ];
echo htmlspecialchars( file_get_contents ( 'http://r.qzone.qq.com/cgi-bin/user/cgi_personal_card' . "?uin=" . $qq ));
?>
|
希望本文所述对大家的php程序设计有所帮助。