0

他の誰かが作成したサイトにキャプチャを追加しようとしています。このチュートリアルに従っていますが、別のファイルで作成すると、問題なく動作します(サーバーのセットアップの問題ではありません)

ただし、既存のページに追加しようとすると、まったく機能しません。Internet Explorer でページを読み込むと、次のように、画像が表示されるはずだった場所にソース コードがランダムな文字で表示されます。

‰PNGIHDRé1°8ö[IDATxœÍ]kp×u>»X‹± (4  ›–9¦:‰-C£V™©4–[ÓL•4“Dm~„njR3ª]*qÒÚ‰£ŽãD–&~Ô±ØØŽ$

Firefox で、「エラーが含まれているため、画像 "myurl" を表示できません」というメッセージが表示されます。

これはヘッダーと関係があると思いますが、よくわかりません。

これは、イメージを作成するために使用しているコードです。

$md5 = md5(microtime() * mktime());
$string = substr($md5,0,5);
$captcha = imagecreatefrompng("./captcha.png");
$black = imagecolorallocate($captcha, 0, 0, 0);
$line = imagecolorallocate($captcha,233,239,239);
imageline($captcha,0,0,39,29,$line);
imageline($captcha,40,0,64,29,$line);
imagestring($captcha, 5, 20, 10, $string, $black);
$_SESSION['key'] = md5($string);
header("Content-type: image/png");
imagepng($captcha);

アドバイスをいただければ幸いです。ありがとう。

4

1 に答える 1

4

これらのランダムな文字は、実際には PNG ファイルの内容です。

<img>タグでリンクするのではなく、PNG データを HTML ファイルにダンプしているのです。

コードを独自のファイルに入れ、次のように埋め込む必要があります。

<img src="image.php">
于 2009-09-07T10:50:30.377 に答える