0
$captcha = new Zend_Captcha_Image(array(
    'font' => BASE_PATH .'/fonts/Average-Regular.ttf'
));
$captchaId = $captcha->generate();

index.php で

// Define path to application directory
defined('BASE_PATH')
    || define('BASE_PATH', realpath(dirname(__FILE__) . '/../'));

// Define path to application directory
defined('APPLICATION_PATH')
    || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));

エラー:

警告: imagepng(): './images/captcha/564749fc943b090f6d38233071ae1538.png' を書き込み用に開くことができません: No such file or directory in /var/www/html/workbench/zend/library/Zend/Captcha/Image.php on 563行目

4

2 に答える 2

1

これを試して。

$captcha = new Zend_Captcha_Image(array(
    'font' => BASE_PATH .'fonts/Average-Regular.ttf',
    'imgDir'=> //path to captcha image directory,
    'imgUrl'=> '/captcha-image/',
));
$captchaId = $captcha->generate();

キャプチャ画像を保存する画像ディレクトリを定義する必要があります。

詳細については、ドキュメントhttp://framework.zend.com/manual/en/zend.captcha.adapters.html#zend.captcha.adapters.imageをご覧ください。

于 2012-07-24T04:51:23.900 に答える
0

フォントの場合は、「.」は、モジュール ディレクトリを保持する Zend ディレクトリを指します。たとえば、この ZendSkeletonApplication-master/data/fonts のような新しいディレクトリを作成し、ZendSkeletonApplication-master/data/fonts/aril.ttf のようなフォント ファイルを配置すると、次のことができます。次のようにキャプチャを開始します。

$captcha = new Zend_Captcha_Image(array(
    'font' => './data/fonts/arial.ttf',
    'imgDir'=> 'your nominated directory',
    'imgUrl'=> 'same like above from url',
));
$captchaId = $captcha->generate();

ただし、インデックス ページで、選択したディレクトリを指す定数をいつでも定義して使用できます。

于 2014-02-19T10:14:09.503 に答える