我真的在网上冲浪,甚至类似的问题也在这个论坛上发布,但我发现其中大部分还没有回答。
无论如何我还想在这里发布我的问题,如果有人能尽快帮助我会非常感激。
我在localhost中这样做,这是我的控制器,
public function register(){
$this->load->helper('captcha');
$captcha = array(
'word' => 'Random 123',
'imag_path' => './captcha/',
'img_url' => base_url() . 'captcha/',
'font_path' => './fonts/arial.ttf',
'img_width' => '300',
'img_height' => '50',
'expiration' => '3600',
);
print_r($captcha);
$img = create_captcha($captcha);
$data['image'] = $img['image'];
if(!$_POST){
$this->load->view('public/register', $data);
return true;
}
}
我的观点有以下脚本,
<?php
echo $image;
?>
问题:验证码图像未显示
仅供参考:在我的研究中,我发现许多人首先考虑以下几点。
1)检查“captcha”文件夹是777模式
2)检查GD库是否已加载
我确实检查了以上几点,但我不是100%肯定,因为我看不到文件夹权限在本地设置为777(我使用的是Windows 7 32位)。右键单击并检查“captcha”文件夹属性时,它设置为
属性 只读(已选中) 隐藏(未选中)
这是对的吗?若然后你知道为什么我的Captcha图像不起作用吗?
如果您需要更多详细信息,请与我们联系?
答案 0 :(得分:0)
尝试使用此代码
<?php
$pool = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
$captcha = substr( str_shuffle( $pool ), 0, 5 );
$vals = array(
'word' => $captcha,
'img_path' => 'front_images/captcha/',
'img_url' => base_url().'front_images/captcha/',
'img_width' => 120,
'img_height' => 35,
'font_path' => './system/fonts/texb.ttf',
'expiration' => 3600 //1 houre
);
$cap = create_captcha($vals);
echo $cap['image']
?>
答案 1 :(得分:0)
您在配置数组中输入错误,而不是imag_path
其img_path
。
还要确保以下事项:
1. `img_path` or `img_url` is set properly.
2. If you have specified `img_path`, then make sure such a directory exists.
3. Make sure the `img_path` is `writable`.
4. Make sure `gd` library is installed.