如何获取codeigniter captcha图像库


How can I get codeigniter captcha image Library

如何获取codeigniter captcha图像库。需要配置来定义'img_path' => '', 'img_url' => '',,但我没有这样的文件夹或图像,我也有很多教程和代码点火器文档。。但没有人描述captcha图书馆的位置。。

功能

public function captcha() {
        /* Set a few basic form validation rules */
        $this->form_validation->set_rules('name', "Name", 'required');
        $this->form_validation->set_rules('captcha', "Captcha", 'required');
        /* Get the user's entered captcha value from the form */
        $userCaptcha = set_value('core/captcha');
        /* Get the actual captcha value that we stored in the session (see below) */
        $word = $this->session->userdata('captchaWord');

        /* Check if form (and captcha) passed validation */
        if ($this->form_validation->run() == TRUE &&
                strcmp(strtoupper($userCaptcha), strtoupper($word)) == 0) {
            /** Validation was successful; show the Success view * */
            /* Clear the session variable */
            $this->session->unset_userdata('captchaWord');

            /* Get the user's name from the form */
            $name = set_value('name');
            /* Pass in the user input to the success view for display */
            $data = array('name' => $name);
            $this->load->view('pages/captcha-success-view', $data);
        } else {
            /** Validation was not successful - Generate a captcha * */
            /* Setup vals to pass into the create_captcha function */
            $vals = array(
                'word' => 'Random word',
                'img_path' => '',
                'img_url' => '',
                'img_width' => '150',
                'img_height' => 30,
                'expiration' => 7200
            );
            print_r($vals);
            /* Generate the captcha */
            $captcha = create_captcha($vals);
            $data['captcha'] = $captcha;
            $data['image'] = $captcha['image'];
            /* Store the captcha value (or 'word') in a session to retrieve later */
            $this->session->set_userdata('captchaWord', $captcha['word']);
            /* Load the captcha view containing the form (located under the 'views' folder) */
            $this->load->view('pages/captcha-view', $data);
        }
    }

CodeIgniter中没有captcha库,只有helper。你所要做的就是首先加载这个助手来使用captcha $this->load->helper('captcha');

请记住,您必须在项目中创建一个文件夹,CI将在其中放置captcha图像。因此,如果你在项目根目录中创建了一个名为"captcha"的文件夹,那么你的代码将是(演示)

$this->load->helper('captcha');
$vals = array(
 'img_path' => 'captcha/',
 'img_url' => base_url('captcha'),
 'font_path' => 'assets/fonts/ALGER.TTF',
 'img_width' => '300',
 'img_height' => 80,
 'font_size' => 24,
 'colors' => array(
    'background' => array(255, 255, 255),
    'border' => array(0, 0, 0),
    'text' => array(0, 0, 0),
    'grid' => array(255, 40, 40)
  )
);
$cap = create_captcha($vals);

现在,将您的captcha打印到您想要的echo $cap['image'] 的任何位置