ob_clean();header("content-type: image/jpeg");//產生驗證碼$char = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ';$len = 4;$schar = '';$charlen = strlen($char);for ($i=0; $i < $len; $i++) { $schar .= $char[rand(0,$charlen)];}//將結果儲存到 session中@session_start();$_SESSION['captcha_code'] = $schar;//讀取圖片$bg_file = './captcha/captcha_bg' . mt_rand(1,5) . '.jpg';//根據圖片建立畫布$img = imagecreatefromjpeg($bg_file);if (rand(1,2) == 1) { $color = imagecolorallocate($img, 0, 0, 0 );}else { $color = imagecolorallocate($img, 255, 255, 255);}$imgsize = getimagesize($bg_file);imagestring($img, 5, 30, 0, $schar,$color );imagepng($img);imagedestroy($img);
本人新手 剛開始學習, 驗證碼如果不開啟ob_clean(); 就是一個 X , 設定檔 GD 庫已經開啟並且重啟 apache. 希望知道的指導一下並且說明原因.
回複討論(解決方案)
先把
ob_clean();
換成下面的形式 然後看看有沒有輸出
$data = ob_get_contents();ob_clean();var_dump($data);
這表示你的程式前面有輸出,
這表示你的程式前面有輸出,
謝謝 問題已經解決,確實是自己手賤 將 前面 加了空行.