我正在使用CodeIgniter Captcha Helper为我的网站生成验证码图像。它工作得非常好。但唯一的问题是它为验证码图像生成一个随机名称。如何更改CodeIgniter Captcha Helper生成的图像名称?我使用以下代码生成验证码。
$this->load->helper('captcha');
$keyword = $this->generate_random_keyword();
$vals = array(
'word' => $keyword,
'img_path' => './captcha/',
'img_url' => base_url() . '/captcha/',
'img_width' => '150',
'img_height' => '35',
'border' => 0,
'font_path' => './fonts/texb.ttf',
'expiration' => 3600
);
$captcha = create_captcha($vals);
答案 0 :(得分:2)
CodeIgniter/system/helpers/captcha_helper.php
第231行
$img_name = $now.'.jpg';
您可以直接修改它(可能不是一个好主意,因为更新可能会覆盖)。或者您可以通过复制原始文件,修改并将其放入application/helpers
来创建自己的帮助程序。
如果你想通过参数自定义名称,那么应该这样做:
// line 42
function create_captcha($data = '', $img_path = '', $img_url = '', $font_path = '', $captcha_filename = '')
然后
// line 231
if ($captcha_filename != '')
{
$img_name = $captcha_filename.'.jpg';
}
else
{
$img_name = $now.'.jpg';
}
但请注意,如果设置$captcha_filename
,此示例可能会覆盖同一目录中的现有验证码。
所以,将captcha_helper.php
复制到application/helpers
,在第42行和第231行(或只是231)进行更改,保存,你应该很好。