私はdictionary.txtという名前のファイルから単語を取り、GDライブラリを使ってキャプチャ画像にするキャプチャを作成しようとしています。しかし、何かが間違っています。私はセッション変数として表示するために私の辞書のフレーズを得ることができますが、彼らはイメージを作成しません。したがって、GDライブラリコードでなければなりません。 captcha_validate.phpという名前の最終的なターゲットファイルがありますが、それは今は重要ではありません。私はただイメージを動かそうとしているだけです。キャプチャがphpに表示されない
form_captcha.php
<form class="" action="captcha_validate.php" method="post">
Captcha Verify:
<input type="text" name="captcha" value="" /><br /><br />
<img src="captcha.php" /><br />
<input type="submit" name="submit" value="Submit" />
</form>
captcha.php
<?php
session_start();
session_regenerate_id();
$file = file('dictionary.txt', FILE_IGNORE_NEW_LINES);
$length = count($file) - 1;
$random = rand(0, $length);
$_SESSION['captcha'] = $file[$random];
session_write_close();
function msg($msg) {
$container = imagecreate(250, 170);
$black = imagecolorallocate($container, 0, 0, 0);
$white = imagecolorallocate($container, 255, 255, 255);
$font = "C:\Windows\Fonts\arial.ttf";
imagefilledrectangle($container, 0, 0, 250, 170, $black);
$px = (imagesx($container)/(strlen($msg)/1.15));
$py = (imagesy($container)/3.5);
imagefttext($container, 28, -27, $px, $py, $white, $font, $msg);
header("Content-type: image/png");
imagepng($container, null);
imagedestroy($container);
}
msg($file[$random]);
?>
'Imagepng'のmanページには、qualityとfiltersの引数が使用されていないと' NULLは無効です。 ' –
私はこれを行い、それでも動作していません。 imagepng($ container、null、0、PNG_NO_FILTER); –