本文實例講述了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程序設計有所幫助。