0

私は CodeIgniter でプロジェクトを行っています。インデックス ファイル内のファイルを呼び出そうとしていcaptcha.phpます。フォルダ ファイル内のこのキャプチャ ファイル。現在、キャプチャ画像は表示されていません。乱数を画像に表示する必要があります。

キャプチャ.php

<?php
session_start();

$string = '';

for ($i = 0; $i < 5; $i++) {
    $string .= chr(rand(97, 122));
}

$_SESSION['random_number'] = $string;

$dir = 'fonts/';

$image = imagecreatetruecolor(165, 50);

// random number 1 or 2
$num = rand(1,2);
if($num==1)
{
    $font = "PT_SANS-BOLD_1.TTF"; // font style
}
else
{
    $font = "PT_SANS-ITALIC_1.TTF";// font style
}

// random number 1 or 2
$num2 = rand(1,2);
if($num2==1)
{
    $color = imagecolorallocate($image, 113, 193, 217);// color
}
else
{
    $color = imagecolorallocate($image, 163, 197, 82);// color
}

$white = imagecolorallocate($image, 255, 255, 255); // background color white
imagefilledrectangle($image,0,0,399,99,$white);

imagettftext ($image, 30, 0, 10, 40, $color, $dir.$font, $_SESSION['random_number']);

header("Content-type: image/png");
imagepng($image);

?>

in html file

<img src="<?= base_url();?>files/captcha.php" alt="" id="captcha" />
4

1 に答える 1

0

これはあなたの質問に対する答えではありませんが、選択できる代替手段です。

非常に多くのキャプチャ スクリプトが既に利用可能であり、再度コーディングする代わりにその一部を使用できる場合があります。

これをチェック

このオプションを使用する場合は、フォントが正しい場所に配置されていることを確認してください。

于 2013-05-22T06:23:59.690 に答える