php驗證碼顯示不了,php驗證碼不顯示解決方法

2021-10-25 21:42:51 字數 1610 閱讀 7226

解決方法:

2、utf-8 bom頭原因。用editplus、ultraedit,刪除即可。(

3、輸出緩衝區中的快取問題。輸出前,使用ob_clean函式解決。

4、輸出前,不能出現echo、print_r、var_dump等列印,注釋或刪除解決。

解決問題之後的**:<?php

$w = 80; //設定寬和高

$h = 26;

$str = array(); //用來儲存隨機碼

$string = "abcdefghijklmnopqrstuvwxyz0123456789";//隨機挑選其中4個字元,也可以選擇更多,注意迴圈的時候加上,寬度適當調整

for($i = 0;$i < 4;$i++){

$str[$i] = $string[rand(0,35)];

$vcode .= $str[$i];

session_start(); //啟用超全域性變數session

$_session["vcode"] = $vcode;

$im = imagecreatetruecolor($w,$h);

$white = imagecolorallocate($im,255,255,255); //第一次呼叫設定背景色

$black = imagecolorallocate($im,0,0,0); //邊框顏色

imagefilledrectangle($im,0,0,$w,$h,$white); //畫一矩形填充

imagerectangle($im,0,0,$w-1,$h-1,$black); //畫一矩形框

//生成雪花背景

for($i = 1;$i < 200;$i++){

$x = mt_rand(1,$w-9);

$y = mt_rand(1,$h-9);

$color = imagecolorallocate($im,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));

imagechar($im,1,$x,$y,"*",$color);

//將驗證碼寫入圖案

for($i = 0;$i < count($str);$i++){

$x = 13 + $i * ($w - 15)/4;

$y = mt_rand(3,$h / 3);

$color = imagecolorallocate($im,mt_rand(0,225),mt_rand(0,150),mt_rand(0,225));

imagechar($im,5,$x,$y,$str[$i],$color);

ob_clean();//原來的程式沒有這一欄

header("content-type:image/jpeg"); //以jpeg格式輸出,注意上面不能輸出任何字元,否則出錯

imagejpeg($im);

imagedestroy($im);

顯示結果如下:

PHP驗證碼顯示與驗證

captcha 驗證碼 session 技術。php 處理的技術。仿照 1,有已存在的背景圖幾張 2,隨機得到某張!3,白色邊框 4,隨機文字 大寫 數字,黑白隨機 步驟1 確定隨機背景 基於該背景,建立畫布!繪製邊框 步驟2 寫驗證碼寫到 畫布上利用函式imagestring imagestrin...

php驗證碼zhuc php實現驗證碼製作

php實現驗證碼製作 首先,看一張圖了解驗證碼生成的過程。1 生成驗證碼底圖 2 驗證碼內容 3 生成驗證碼 4 對比校驗 驗證碼實現的核心技術分析 a 底圖的 實現,並新增干擾元素 b 生成驗證內容 c 驗證內容儲存在服務端 d 驗證內容的校驗 下面看 實現的過程 這段 實現了產生 隨機數字,隨機...

PHP實現驗證碼

目前,不少 為了防止使用者利用機械人自動註冊 登入 灌水,都採用了驗證碼技術。所謂驗證碼,就是將一串隨機產生的數字或符號,生成一幅,裡加上一些干擾象素 防止 ocr 由使用者肉眼識別其中的驗證碼資訊,輸入表單提交 驗證,驗證成功後才能使用某項功能。我們這裡展示了如何編寫 php程式實現驗證碼功能 一...