|
本帖最后由 pcjingl 于 2014-8-6 21:30 编辑
CI 每次验证码请求都会创建新的图片文件到网站目录中,总觉得这样有些不妥,不妨试着这样修改一下:
编辑"application/controllers/welcome.php",添加"captcha"方法
PHP复制代码 public function captcha ()
{
$this->load->helper('captcha');
$vals = array(
//'word' => 'Random word',
'img_path' => DATAPATH .'captcha/',
'img_url' => base_url ('data/captcha').'/',
//'font_path' => './path/to/fonts/texb.ttf',
'img_width' => '150',
'img_height' => 30,
'expiration' => 7200
);
$cap = create_captcha ($vals);
// Session $cap['word'] OR Set COOKIE
// TO DO..
header('Content-Type: image/jpeg');
echo $cap['image'];
} 复制代码
编辑"application/views/welcome_message.php",添加"img"标签(发帖时这里总是过滤掉img标签的onclick属性,大家自己修改一下吧{:soso_e101:})
HTML复制代码
<img id="codeimage" on-click="javascript:this.src='<?php echo site_url('welcome/captcha');?>?'+Math.random();" src=" <?php echo site_url('welcome/captcha');?>" />
复制代码
编辑"system/helpers/captcha_helper.php",像下面一样注释并添加新代码
PHP复制代码 /*$img_name = $now.'.jpg';
ImageJPEG($im, $img_path.$img_name);
$img = "<img src=\"$img_url$img_name\" width=\"$img_width\" height=\"$img_height\" style=\"border:0;\" alt=\" \" />";
ImageDestroy($im);*/
ob_start();
imageJPEG($im);
ImageDestroy($im);
$img = ob_get_clean(); 复制代码
刷新一下页面、点点验证码图片、看看保存验证码图片的文件夹,是否有变化?{:soso_e100:}
|
|