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 星
すでに 1 つ書きました
$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" />';<br />
}
ログイン後にコピー
これは主に 10 進数を 4 進数に変換することによって実装されます。これを実現するより良い方法はありますか?
-----解決策---------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].'" />';<br />
}
ログイン後にコピー
-----解決策---------------------<br>
<?php<br />
関数 qqdj($nowlevel)<br />
{<br />
/*星 1 月 4 太陽 16 クラウン 64 */<br />
$a = $b = $c = $d = 0;
$d = フロア($nowlevel/64);<br />
$dj= $nowlevel%64;<br />
$c = フロア($dj/16);<br />
$dj = $dj%16;<br />
$b = フロア($dj/4);<br />
$a = $dj%4;<br />
return array($a,$b,$c,$d);<br />
}<br />
<br />
関数 qqdjImg($nowlevel)<br />
{<br />
/*星 1 月 4 太陽 16 クラウン 64 */<br />
$arrDJ = array();<br />
$arrDJ[] = フロア($nowlevel/64);<br />
$dj= $nowlevel%64;<br />
$arrDJ[] = フロア($dj/16);<br />
$dj = $dj%16;<br />
$arrDJ[] = フロア($dj/4);<br />
$arrDJ[] = $dj%4;<br />
<br />
$arrImg = array(<br />
'<img src="http://id.qq.com/level/img/crown.png" />',<br>
'<img src="http://id.qq.com/level/img/sun.png" />',<br>
'<img src="http://id.qq.com/level/img/moon.png" />',<br>
'<img src="http://id.qq.com/level/img/star.png" />',<br>
);<br>
$html = '';<br>
foreach ($arrDJ as $k => $v) <br>
{<br>
$html .= str_repeat($arrImg[$k],$v);<br>
}<br>
<br>
print_r($arrDJ);<br>
$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>
コンテンツタイプ: text/html<br>
<br>
配列<br>
(<br>
[0] => 1<br>
[1] => 0<br>
[2] => 1<br>
[3] => 3<br>
)<br>
<img src="http://id.qq.com/level/img/crown.png" /><img src="http://id.qq.com/level/img/moon.png " /><img src="http://id.qq.com/level/img/star.png" / alt="QQ デジタル レベルを画像ディスプレイとして出力する方法について議論したい人はいますか?" >gt;<img src="http://id.qq.com/level/img /star.png" /><img src="http://id.qq.com/level/img/star.png" alt="QQ デジタル レベルを画像ディスプレイとして出力する方法について議論したい人はいますか?" ><br><div class="clear"></div>
ログイン後にコピー