CodeIgniter验证码图像在线时无法正常工作

时间:2013-03-12 13:04:50

标签: php javascript html css codeigniter

我会尝试尽可能具体。我使用codeigniter captcha helper为我的网站上的用户验证生成验证码,它在本地主机上工作得很好但是当我在线上传网站时,验证码显示没有任何东西,显然,当我使用开发人员工具查看img标签时包含验证码图像的内容根本不存在。

代码是:

$this->load->helper('captcha');
$vals = array(
        'img_path' => './captcha/',
        'img_url' => base_url().'captcha/',
        'font_path' => './fonts/VeraSe.ttf',
        );

$img = create_captcha($vals);
$x = $this->session->set_userdata('captcha', $img['word']); 

$data['image'] = $img['image'];
$data['captcha1'] = $img['word'];
$this->load->view('signup', $data);

并在视图中:

<?php echo $image; ?>

4 个答案:

答案 0 :(得分:1)

看起来脚本有一些问题,它需要额外的参数,正在运行的代码是:

$vals = array(

    'img_path' => './captcha/',
    'img_url' => 'http://example.com/captcha/',
    'font_path' => './fonts/texb.ttf',
    'img_width' => '150',
    'img_height' => 30,
    'expiration' => 7200
    );

$cap = create_captcha($vals);
$data = $cap['image'];
$this->load->view(signup, $data);

并在视图文件中

echo $image;

答案 1 :(得分:0)

来自captcha helper page

  

“captcha”文件夹必须是可写的(666或777)

     

验证码功能需要GD图像库。

确保在您的在线网站上确实如此。

答案 2 :(得分:0)

重写htaccess文件以包含像

这样的验证码文件夹
    RewriteCond $1 !^(index\.php|asset|captcha|inc|images|robots\.txt)

有同样的问题,但它对我有用。请记住首先创建.htaccess文件的备份

答案 3 :(得分:0)

对我来说,足以在文件.htaccess中添加目录“captcha”的名称来规则。喜欢写为poly:

RewriteCond $1 !^(index\.php|asset|captcha|inc|images|robots\.txt)