PHP驗證碼無法顯示的原因及解決辦法
一、如果是utf-8,就有可能是BOM沒有清除
二、在Header("Content-type: image/PNG"); 之前有輸出
三、第一行PHP隱藏了代碼,如空格,回車等。 解決代碼:
$image_width=70; //設置圖像寬度 $image_height=18; //設置圖像高度 $new_number=$_GET[num]; //$new_number=5; $num_image=imagecreate($image_width,$image_height); //創建一個畫布 imagecolorallocate($num_image,255,255,255); //設置畫布的顏色 $black=imagecolorallocate($num_image,0,0,0); /**/for($i=0;$i<strlen($new_number);$i++){ //循環讀取SESSION變量中的驗證碼 $font=mt_rand(3,5); //設置隨機的字體 $x=mt_rand(1,8)+$image_width*$i/4; //設置隨機字符所在位置的X坐標 $y=mt_rand(1,$image_height/4); //設置隨機字符所在位置的Y坐標 $color=imagecolorallocate($num_image,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200)); //設置字符的顏色 imagestring($num_image,$font,$x,$y,$new_number[$i],$color); //水平輸出字符 } header("content-type:image/png"); //設置創建圖像的格式 imagepng($num_image); //生成PNG格式的圖像 imagedestroy($num_image); //釋放圖像資源
以上就是PHP驗證碼無法顯示的原因及解決辦法的講解,如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。