Zend framework Zend_Captcha_图像使用字体包含路径
在index.php中Zend framework Zend_Captcha_图像使用字体包含路径,zend-framework,Zend Framework,在index.php中 $captcha = new Zend_Captcha_Image(array( 'font' => BASE_PATH .'/fonts/Average-Regular.ttf' )); $captchaId = $captcha->generate(); 错误: 警告:imagepng():无法打开 “./images/captcha/564749fc943b090f6d3823071ae1538.png”用于书写: 中没有这样的文件或目录 /v
$captcha = new Zend_Captcha_Image(array(
'font' => BASE_PATH .'/fonts/Average-Regular.ttf'
));
$captchaId = $captcha->generate();
错误:
警告:imagepng():无法打开
“./images/captcha/564749fc943b090f6d3823071ae1538.png”用于书写:
中没有这样的文件或目录
/var/www/html/workbench/zend/library/zend/Captcha/Image.php在线
563
试试这个
// 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'));
您需要定义用于存储验证码图像的图像目录
有关更多信息,请查看您字体的文档。“.”将指向保存模块目录的Zend目录。例如,如果您创建一个新目录,如ZendskeletonApp master/data/fonts,并将字体文件放入ZendskeletonApp master/data/fonts/aril.ttf,则您可以启动验证码,如下所示:
$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();
但是,您可以在索引页中定义一个常数,该常数指向您选择的目录并使用它。存储字体的目录路径是什么?它位于根文件夹“/fonts/Average Regular”中。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();