首頁  >  問答  >  主體

用GD2函數產生4位數的驗證碼為什麼圖片顯示不出來呢?


<?php
session_start();
header("content-type:image/png");        / /設定建立影像的格式
$image_width=70;                      //設定影像寬度
$image_height
srand(microtime()*100000);               //設定隨機數的種子
for($i=0;$i<4;$i ){                  //循環輸出一個4位元的隨機數
   $new_number.=dechex(rand);#15) }
$_SESSION[check_checks]=$new_number;    //將取得的隨機數驗證碼寫入到SESSION變數中     

#$num_image=imagecreate($image_width,$image_
#$num_image=imagecreate($image_width,$image_
## 畫布
imagecolorallocate($num_image,255,255,255);          //設定畫布的顏色
for($i=0;$i<strlen($)變數中的驗證碼
   $font=mt_rand(3,5);                                        //設定隨機字元所在位置的X座標
   $y=mt_rand(1,$image_height/4);                    //設定為位元在位置中的Y710,00000 $ ,mt_rand(0,200));       //設定字元的顏色
   imagestring($num_image,$font,$x,$y,$_SESSION[check_checks][$i],$color);     水平##}
imagepng($num_image);                  //產生PNG格式的圖片
imagedestroy($num_image) #o

S.LS.L2587 天前1228

全部回覆(1)我來回復

  • 风豆丁

    风豆丁2017-08-22 17:08:36

    你這段程式碼裡有很多錯誤。

    你先把 header("content-type:image/png");註解掉,把錯誤處理掉再說吧。

    一般 header設定在產生圖片 imagepng() 函數上面就好了,這樣可以方便調錯。

    回覆
    0
  • S.L

    這段程式碼是教學裡複製過來的,應該不會錯。照你的方法也不行,出現了這樣的錯誤: ( ! ) Notice: Undefined variable: new_number in D:wamp64wwwlianxichecks.php on line 7 Call Stack # Time Memory Function Location 1 0.0007 244832 {main}( ) ...checks.php:0

    S.L · 2017-08-22 23:22:07
    风豆丁

    for循環前給$num_number一個初始值,另外$_SESSION下標必須是字串。改成下面這樣就好了。 session_start(); header("content-type:image/png"); //設定建立影像的格式 $image_width=70; //設定圖片寬度 $image_height=18; //設定圖片高度 srand(microtime()*100000); //設定隨機數的種子 $new_number = ''; for($i=0;$i<4;$i++){ //迴圈輸出一個4位的隨機數 $new_number .= dechex(rand(0,15)); } $_SESSION['check_checks']=$new_number; //將取得的隨機數驗證碼寫入到SESSION變數中 $num_image=imagecreate($image_width,$image_height); //建立一個畫布 imagecolorallocate($num_image,255,255,255); //設定畫布的顏色 for($i=0;$i

    风豆丁 · 2017-08-23 22:23:48
  • 取消回覆