$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'写作: 在......中没有该文件或目录 /var/www/html/workbench/zend/library/Zend/Captcha/Image.php上线 563
答案 0 :(得分: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
答案 1 :(得分: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();
但您始终可以在索引页面中定义一个指向所选目录并使用它的常量。