本文目錄一覽:
PHP 驗證碼不顯示只有一個小紅叉的解決方法
最近想自學PHP
,做了個驗證碼,但不知道怎麼搞的,總出現一個如下圖的小紅叉,但驗證碼就是顯示不出來,原因如下
未修改之前,出現如下錯誤;
(1)修改步驟如下,原因如下,原因是apache許可權沒開,
(2)點擊打開php.int.,
搜索extension=php_gd2.dll
打開?去掉前面分號重啟apache,就OK了
,萬事大吉了。
希望各位朋友遇到這樣的問題的時候,能給與幫助
php中文驗證碼無法顯示
session_start();
$image=imagecreatetruecolor(200, 60);//創建畫布
$color = imagecolorallocate($image, mt_rand(157,255), mt_rand(157,255), mt_rand(157,255));//隨機顏色
//$color=imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $color);//填充顏色
//中文驗證碼
$fontface=”simhei.ttf”;//確保相同目錄下有該字體
$strdb=array(‘好’,’多’,’人’,’在’,’學’,’習’);
for ($i=0;$i4;$i++){
$fontsizecolor=imagecolorallocate($image, mt_rand(0, 150), mt_rand(0, 150), mt_rand(0, 150));
$codex=iconv(“GB2312″,”UTF-8”,$strdb[mt_rand(0,5)]);//iconv不能轉數組 取任意下標
imagettftext($image, mt_rand(20, 24), mt_rand(-30, 30), (40*$i+20), mt_rand(30, 35), $fontsizecolor, $fontface, $codex);//如果用$code的話 就生成 1+2+3+4 是個漢字的驗證碼了
}
//干擾點
for ($i=0;$i200;$i++){
$pointcolor=imagecolorallocate($image, mt_rand(50, 200), mt_rand(50, 200), mt_rand(50, 200));
imagesetpixel($image, mt_rand(1, 100), mt_rand(1,20), $pointcolor); //雪花
}
//干擾線
for ($i=0;$i3;$i++){
$linecolor=imagecolorallocate($image, mt_rand(50, 200), mt_rand(50, 200), mt_rand(50, 200));
imageline($image, mt_rand(1, 99), mt_rand(1, 99), mt_rand(1, 99), mt_rand(1, 99), $linecolor);
}
ob_clean();
header(“Content-type:image/png”);
imagepng($image);
imagedestroy($image);
php網站後台驗證碼顯示不出來呢?
一般是兩個問題,一、GD庫是否開啟。二、BOM頭的影響,沒有清除。
給你發一個清除BOM的文件,你在根目錄執行一下該文件就行了。
php驗證碼為什麼不顯示
第一行PHP隱藏了代碼,如空格,回車等。
在Header(“Content-type: image/PNG”); 之前有輸出。
如果是utf-8,就有可能是BOM沒有清除。
原創文章,作者:RKAM,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/146098.html