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中驗證碼顯示不出來的解決辦法的詳細內容,更多請關注 其它相關文章!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答