2013-03-12 118 views
1

我会尽量保持具体。我使用codeigniter captcha助手为我的网站上的用户验证生成验证码,它在ly localhost上工作良好,但是当我在线上传网站时,验证码未显示任何内容,显然,当我使用开发人员工具查看img标签时包含验证码图像根本就没有。CodeIgniter验证码图片在线时不能正常工作

的代码是:

$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; ?> 
+2

检查文件夹权限。我认为CI也使用了GD扩展。检查扩展是否启用。 – Samy 2013-03-12 13:09:04

+0

你的'base_url()'在你的在线网站上正确设置了吗?看看源代码(不是开发工具),看看什么(如果有的话)正在echo'd – 2013-03-12 13:09:53

+0

是的@Samy说检查GD扩展已启用您的PHP配置 – 2013-03-12 13:10:27

回答

0

captcha helper page

的 “验证码” 文件夹必须是可写的(666,或777)

验证码功能需求res GD图像库。

请确保这些在您的在线网站上是正确的。

+0

我如何确定,你能指导我... – Hunain 2013-03-12 13:15:38

+0

设置这些东西是基于你使用哪个托管服务提供商以及用于上传文件和与文件进行交互的工具。我建议你在谷歌搜索这些东西和/或联系你的主机提供商支持 – 2013-03-12 13:18:24

+1

phpinfo();在您的任何页面中使用此功能并查看输出。检查GD – Samy 2013-03-12 13:19:14

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; 
+0

我很高兴你找到你的答案 – 2013-03-13 08:09:14

0

重写htaccess文件包括:验证码文件夹像

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

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

0

对于我来说,足以添加名为“captcha”的目录来规则化文件.htaccess。 Like写为poly:

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