認証コードクラスで画像が出ないのはなぜですか?
仕方ないので認証コード生成クラスをカスタマイズしたのですが、なぜか画像が出てきません。専門家のアドバイスをお願いします。
<br> <?php <br /> クラス imageCode{<br /> public $img_width; //検証コード幅<br /> public $img_height; //身長<br /> public $arr_char = array() //認証コードに表示される文字<br /> public $font_size; //フォントサイズ<br /> public $img; //検証コード画像<br /> public $code_result; //セッションに保存される数値または文字列<br /> public $line_count = 7 //ノイズラインの数<br />; private $str_chars = "0123456789abcdefghjkmnpqrstuvwxyzABCEDFGHJKLMNPQRSTUVWXYZ";//検証コード文字列<br /> <br /> //コンストラクター<br /> function __construct($img_width,$img_height,$font_size,$line_count){ <br /> $this->img_width = $img_width;<br /> $this->img_height = $img_height;<br /> $this->font_size = $font_size;<br /> $this->line_count = $line_count;<br /> }<br /> <br /> //検証コード生成メインメソッド<br /> function createCodeImg(){<br /> $this->createGraphics(); $this->getChars();<br /> $this->setNoiceLine();<br /> <br /> $x = rand(2,5);<br /> $arr_X_Y = array(array($x,rand(1,3)),array($x $this->font_size,rand(1,4)),array($x 2*$this->font_size, rand(1,3)),array($x 3*$this->font_size,rand(1,4)));<br /> print_r($arr_X_Y);<br /> for($i = 0;$i<4;$i ){<br /> $text_color = imagecolorallocate($this->img, rand(180,250), rand(180,250), rand(180,250));<br /> imagechar($this->img,$this->font_size,$arr_X_Y[$i][0],$arr_X_Y[$i][1],$this->arr_char[$i],$text_color) ;<br /> }<br /> }<br /> <br /> //製図ボードを作成します <br /> 関数 createGraphics(){<br /> header("コンテンツタイプ: image/png"); $this->img = @imagecreatetruecolor($this->img_width, $this->img_height) または die("画像の作成に失敗しました") // 画像を作成します<br /> $background_color = imagecolorallocate($this->img, 250, 250, 250);<br /> imagefill($this->img,0,0,$background_color);<br /> $border_color = imagecolorallocate($this->img,0,0,0); //境界線の色<br /> imagerectangle($this->img,0,0,$this->img_width,$this->img_height,$border_color);<br /> }<br /> <br /> //ノイズラインを描画<br /> 関数 setNoiceLine(){<br /> for($i = 0;$i <$this->line_count;$i ){<br /> $x1 = rand(3,20);//開始位置<br /> $y1 = rand(2,$this->img_height);<br /> $x2 = rand($this->img_width-20,$this->img_width-2);//終了位置<br /> $y2 = rand(2,$this->img_height);<br /> $line_color = imagecolorallocate($this->img, rand(180,250), rand(180,250), rand(180,250));<br /> imageline($this->img,$x1,$y1,$x2,$y2,$line_color); }<br /> }<br /> <br /> //ランダムな文字列またはプラス文字またはマイナス文字を生成します <br /> 関数 getChars(){<br /> $strCode = "";<br /> if(rand(0,1) == 1){//文字列型検証コード<br /> for($i = 0;$i <4;$i ){<br /> $this->arr_char[$i] = $this->str_chars[rand(0,56)];<br /> $strCode .= $this->arr_char[$i];<br /> }<br /> $this->code_result = $strCode;<br /> }<br /> else{ //追加および減算型検証コード<br /> $first_num = rand(1,10);<br /> $sec_num = 0;<br /> $result = 0;<br /> $arr_operator = array(" ","-");<br /> $operator = $arr_operater[rand(0,1)];<br /> スイッチ ($operator){<br /> ケース " ":<br /> $sec_num = rand(0,10);<br /> $result = $first_num $second_num;<br /> 休憩;<br /> ケース "-":<br /> $second_num = rand(0,$first_num);<br /> $result = $first_num - $second_num;<br /> 休憩;<br /> }<br /> $this->arr_char = array($first_num,$operator,$second_num,"="); <br><br>