1

キャプチャ コードが機能しません。行を後ろに表示することはできますが、番号がキャプチャに表示されません。コードは localhost では完全に機能していますが、私のホスティング Web サイトでは機能していません。

コードは次のとおりです。

<?php
session_start();
header('Content-type: image/jpeg');

$text= $_SESSION['secure'];

$font_size =30;
$image_width= 110;
$image_height=40;

$image=imagecreate($image_width,$image_height);
imagecolorallocate($image, 255, 255, 255);
$text_color = imagecolorallocate($image, 0, 0, 0);


for($x=1; $x<=30; $x++){
$x1 = rand(1,100);
$x2 = rand(1,100);
$y1 = rand(1,100);
$y2 = rand(1,100);
imageline($image, $x1, $x2, $y1, $y2, $text_color);
}

imagettftext($image, $font_size, 0, 15, 30, $text_color, 'font.TTF', $text);
imagejpeg($image);  
?>
4

2 に答える 2

1

私はその行にコメントしました、そして私はこの警告と通知を受け取りました:

Notice: Undefined index: secure in F:\xampp\htdocs\captcha.php on line 4 
Warning: imagettftext() [function.imagettftext]: Invalid font filename in F:\xampp\htdocs\captcha.php on line 23

したがって、最初にフォントの場所を確認してください。次に、$ _ SESSION ['secure']値を確認し、値が空の場合は、そのセッションが空である理由を確認します。お役に立てば幸いです。

編集:1。ローカルホストのphpファイルにコードを保存しました。2.ヘッダーを含む通信回線('Content-type:image / jpeg'); ページmime-typeをjpg3に設定します。通知と警告を読みました。とにかく、あなたの問題は空のセッション値であるか、サーバーでgdが有効になっていることを確認してください。

于 2012-08-05T11:18:03.480 に答える
0

ウェブホスティング サーバーにフォントがないと思います。サーバーにインストールされている可能性が高い無料のものを試すか、フォントをWebホストにアップロードして、フォントファイルへの正しいパスを設定します

于 2012-08-05T08:19:16.000 に答える