搜尋

首頁  >  問答  >  主體

圖片驗證碼使用session以後報錯

這是沒開session的效果(可以正常顯示驗證碼的圖片)

---------------------------華麗的分割線- ------------------------------------------


這是開啟session以後的效果(沒有圖片顯示)


##---------------------------------- ------------------------------------------

請問這是為什麼

源碼敬上

------------------ ------------------

<?php

# session_start() ;

$width = 300;

$height = 100;

$img = imagecreatetruecolor($width,$height);

# $white = imagecolorallocate($img, 255, 255, 255);

$red = imagecolorallocate($img, 255, 0, 0);

imagefilledrectangle($img, 0, 0, $width

imagefilledrectangle($img, 0, 0, $width , $height, setColor($img));

function setColor($img)

{

return imagecolorallocate($img,getColor(),getColor(), getColor());

}

function getColor()

{

return mt_rand(0,255);

}

function setNum($a,$b)

{

# return mt_rand($a,$b);

}

# function getCode()

{

return $string = join('',array_rand(array_flip(array_merge(range(0,9),range('a','z'),range ('A','Z'))),4));

}

$str = getCode();

$_SESSION['verifycode'] = $str;

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

{

$size = setNum(20,50);

$angle = setNum(-15,15);

$x = ($width/4)*$i mt_rand(1,9);

$y = mt_rand( ($height/2),$height);

$color = setColor( $img );

$fontfile = './fonts/MSYH.ttf';

$text = mb_substr(getCode(),$i,1,'utf-8');

imagettftext($img, $size, $angle, $x, $y, $color, $fontfile , $text);

}

for($i=0;$i<1500;$i )

{

imagesetpixel($img, mt_rand(0, $width), mt_rand(0, $height ) ), setColor($img));

}

for($i=0;$i<3;$i )

{

# imageline($img, mt_rand(0, $width), mt_rand(0,$height), mt_rand(0, $width), mt_rand(0,$height), setColor($img));

}

for($i=0;$i<3;$i )

{

$cx = mt_rand(0, $width );

$cy = mt_rand(0, $height);

$width = mt_rand(0, $width/2);

$height = mt_rand(0, $高度/2);

$start = mt_rand(0, 360);

$end = mt_rand(0, 360);

$color = setColor($img );

imagearc($img, $cx, $cy, $width, $height, $start, $end, $color);

}

header('content-type:image/jpeg');

imagejpeg( $img );

imagedestroy( $img );

?>



富贵富贵2650 天前1437

全部回覆(2)我來回復

  • 直奔十维

    直奔十维2017-10-05 16:40:26

    應該是會自動刪除的吧?臨時檔案.
    另外你也可以考慮資料庫儲存session 啊?

    回覆
    0
  • 钟毅

    钟毅2017-10-04 14:03:31

    我想你現在不是要處理已經出錯的問題。建議你是先從,簡單的圖片驗證先做想。這個很有必要的。就是去除其它的無用代碼。已經註冊及驗證用戶密碼。單獨來試試這個圖片SESSION的問題。你要註冊是否需要隱藏網域。

    回覆
    0
  • 取消回覆