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(): Unable to open './images/captcha/564749fc943b090f6d38233071ae1538.png' for writing: 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 回答