有没有人喜欢讨论一下将QQ数字等级输出为图片显示
本帖最后由 laiyilong 于 2012-12-23 06:26:55 编辑
学PHP没多久,突然想到怎样来实现这个,只当是锻炼锻炼,假设等级图片地址如下(晕,貌似只有登录QQ网站后才能显示这几个图片)
http://www.myexception.cn/img/2013/01/16/1107071118.png 皇冠
http://www.myexception.cn/img/2013/01/16/1107071119.png 太阳
http://www.myexception.cn/img/2013/01/16/1107071120.png 月亮
http://www.myexception.cn/img/2013/01/16/1107071121.png 星星
我已经写好了一个
$a = base_convert(85,10,4); //85为数字等级<br />
$b = array(1=>'star',2=>'moon',3=>'sun',4=>'crown');<br />
$e = strlen($a);<br />
for($i=0;$i<$e;$i++){<br />
$c = (int)substr($a,$i,1);<br />
if($c>0) for($d=0;$d<$c;$d++) echo '<img src="http://id.qq.com/level/img/'.$b[$e-$i].'.png" / alt=" 有没有人喜欢讨论一上将QQ数字等级输出为图片显示 " >';<br />
}
登入後複製
主要是利用十进制转四进制来实现,不知道哪位还有更好的办法来实现呢?
------解决方案--------------------if(isset($_GET['img'])) {<br />
die(file_get_contents("http://id.qq.com/level/img/$_GET[img].png"));<br />
}<br />
$a = base_convert(85,10,4); //85为数字等级<br />
$b = array(1=>'star',2=>'moon',3=>'sun',4=>'crown');<br />
$e = strlen($a);<br />
for($i=0;$i<$e;$i++){<br />
$c = (int)substr($a,$i,1);<br />
if($c>0) for($d=0;$d<$c;$d++) echo '<img src="?img='.$b[$e-$i].'" / alt=" 有没有人喜欢讨论一上将QQ数字等级输出为图片显示 " >';<br />
}
登入後複製
------解决方案--------------------<br>
<?php <br />
function qqdj($nowlevel)<br>
{<br>
/*星星1 月亮4 太阳16 皇冠64 */<br>
$a = $b = $c = $d = 0; <br>
$d = floor($nowlevel/64);<br>
$dj= $nowlevel%64;<br>
$c = floor($dj/16);<br>
$dj = $dj%16;<br>
$b = floor($dj/4);<br>
$a = $dj%4;<br>
return array($a,$b,$c,$d);<br>
}<br>
<br>
function qqdjImg($nowlevel)<br>
{<br>
/*星星1 月亮4 太阳16 皇冠64 */<br>
$arrDJ = array();<br>
$arrDJ[] = floor($nowlevel/64);<br>
$dj= $nowlevel%64;<br>
$arrDJ[] = floor($dj/16);<br>
$dj = $dj%16;<br>
$arrDJ[] = floor($dj/4);<br>
$arrDJ[] = $dj%4;<br>
<br>
$arrImg = array(<br>
'<img alt=" 有没有人喜欢讨论一上将QQ数字等级输出为图片显示 " >',<br>
'<img alt=" 有没有人喜欢讨论一上将QQ数字等级输出为图片显示 " >',<br>
'<img alt=" 有没有人喜欢讨论一上将QQ数字等级输出为图片显示 " >',<br>
'<img alt=" 有没有人喜欢讨论一上将QQ数字等级输出为图片显示 " >',<br>
);<br>
$html = '';<br>
foreach ($arrDJ as $k => $v) <br>
{<br>
$html .= str_repeat($arrImg[$k],$v);<br>
}<br>
<br>
print_r($arrDJ);<br>
return $html;<br>
}<br>
<br>
<br>
<br>
$dj = 37;<br>
$dj = 71;<br>
echo qqdjImg($dj);<br>
<br>
/*<br>
X-Powered-By: PHP/5.2.0<br>
Content-type: text/html<br>
<br>
Array<br>
(<br>
[0] => 1<br>
[1] => 0<br>
[2] => 1<br>
[3] => 3<br>
)<br>
<img alt=" 有没有人喜欢讨论一上将QQ数字等级输出为图片显示 " ><img alt=" 有没有人喜欢讨论一上将QQ数字等级输出为图片显示 " ><img alt=" 有没有人喜欢讨论一上将QQ数字等级输出为图片显示 " ><img alt=" 有没有人喜欢讨论一上将QQ数字等级输出为图片显示 " ><img alt=" 有没有人喜欢讨论一上将QQ数字等级输出为图片显示 " > <div class="clear">
</div>
登入後複製