首先需要在入口文件的同级目录文件夹用于保存验证码图片,比如新建captcha目录
加载captcha辅助类
$this->load->helper('captcha');
调用create_captcha函数生成验证码图片
$this->load->helper('url');$vals = array ( // 验证码文字,默认是8位随机字符串 'word' => 'Random word', // 图片保存路径 'img_path' => './captcha/', // 基础目录URL 'img_url' => base_url() . './captcha', // 图片中的字体使用的字体文件 'font_path' => './path/to/fonts/texb.ttf', // 图片大小 'img_width' => '150', 'img_height' => 30, // 指定了验证码图片的超时删除时间(秒),默认2小时 'expiration' => 30 );$cap = create_captcha($vals);
此外,还可以设置字符串长度、颜色、字体大小、可选字符,返回值包括了生成图片的名称、完整的img标签、验证码字符串
由于CI不是PHP的session,因此对于验证码的验证过程可以直接使用PHP的session进行保存
session_start();$_SESSION['cap'] = $cap['word'];