1

本当に簡単な計算合計を含むキャプチャを作成しようとしています。しかし、 + を追加しようとすると、空白のボックスに変わります。

質問 2 と 3

Q2: ハットヘッダーは本当に必要で便利ですか?

Q3 : $font = dirName( FILE ).'/font/karate/Karate.ttf'; 誰かがFILEが何をするのか説明してもらえますか?

これは私のコードです:

<?php
    ob_start();
    session_start();

    $randomnr  = rand(1, 5);
    $randomnr2 = rand(1, 5);
    $plus = '+';
    $randanswer = $randomnr + $randomnr2;
    $_SESSION['randomnr2'] = md5($randanswer); 

    $im = imagecreatetruecolor(80, 20);

    $white = imagecolorallocate($im, 255, 255, 255);
    $grey  = imagecolorallocate($im, 150, 150, 150);
    $black = imagecolorallocate($im, 0, 0, 0);

    imagefilledrectangle($im, 0, 0, 80, 25, $black);


    $font = dirName(__FILE__).'/font/karate/Karate.ttf'; //wat is dit?

    imagettftext($im, 15 , 7, 15, 19, $grey, $font, $randomnr);
    imagettftext($im, 15 , 4 , 30, 19, $grey, $font , $plus);  *PROBLEM*
    imagettftext($im, 15 , 10,  50, 19, $white, $font, $randomnr2);

    //prevent caching on client side:
    header("Expires: Wed, 1 Jan 1997 00:00:00 GMT");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Cache-Control: post-check=0, pre-check=0", false);
    header("Pragma: no-cache");

    header ("Content-type: image/gif");
    imagegif($im);
    imagedestroy($im);

    ob_end_flush;

?>

例: http://nightcore.nl/captcha/captcha.php

私が絶対にやらないかもしれないことを見たら、私に教えてください。

4

1 に答える 1

4

あなたが使用している空手フォントには、文字としてプラス記号がありません!

0043 のボックスを参照してください。空です。

__FILE__現在実行中のphpファイルのファイル名と完全なパスです。 php 5.3以降でdirname(__FILE__)置き換えることができます。__DIR__

于 2012-09-15T11:18:10.340 に答える