【问题标题】:Error 'Image corrupt or truncated' when using captcha使用验证码时出现错误“图像损坏或截断”
【发布时间】:2011-11-13 12:07:36
【问题描述】:

我正在使用 codeigniter 。在我的表格中,我使用的是验证码。一切正常,但现在它没有加载,当我签入萤火虫时,这个错误给出了

Image corrupt or truncated: http://localhost/elephanti//home/auth/get_capture/913472

这是我的控制器

function get_capture() {
    $this->auth_lib->get_capture_image ();
}

在我看来

                                            <div 

class="form-item">
                                                    <div class="catergory-inputs">
                                                        <div class="textarea-large-container" id="caption">
                                                            <img border="0"
                                                                src="<?php echo $this->config->item('base_url'); ?>/home/auth/get_capture/<?php echo rand();?>"
                                                                id="captcha" width="225" height="67" />
                                                        </div>
                                                        <div class="caption-icon">
                                                            <img
                                                                src="<?php echo $this->config->item('img_path') ?>/icon-caption.png"
                                                                width="19" height="20" alt="icon-caption"
                                                                style="cursor: pointer;"
                                                                onclick="reload_chaptca('<?php echo $this->config->item('base_url'); ?>/home/auth/get_capture/','<?php echo rand();?>')" />
                                                        </div>
                                                    </div>
                                                </div>

在我的 aut_lib 中

public function get_capture_image()
{
    $this->ci->load->model('captcha/captcha_model');
$path = APPPATH . '../../assets/3rd/captcha';
$this->ci->captcha_model->lmj_crate_image($path);
}

这是我的验证码模型

公共函数 lmj_crate_image($path) {

$this->resourcesPath=$path;
$ini = microtime(true);

/** Initialization */
$this->lmj_reserved_image();

/** Text insertion */
$text = $this->lmj_get_the_captcha();
$fontcfg = $this->fonts[array_rand($this->fonts)];
$this->lmj_write_fonts($text, $fontcfg);

$this->session->set_userdata($this->session_var, $text);
// $_SESSION[$this->session_var] = $text;

/** Transformations */
$this->lmj_render_image();
if ($this->blur && function_exists('imagefilter')) {
    imagefilter($this->im, IMG_FILTER_GAUSSIAN_BLUR);
}
$this->lmj_low_resalution();


if ($this->debug) {
    imagestring($this->im, 1, 1, $this->height - 8,
            "$text {$fontcfg['font']} " . round((microtime(true) - $ini) * 1000) . "ms",
            $this->GdFgColor
    );
}


/** Output */
$this->lmj_make_image_from_text();
$this->lmj_default_clean();

}

我无法弄清楚这里有什么问题。此代码可能没有帮助。

如果这没有帮助,你能告诉我不工作的可能原因吗?谢谢…………

【问题讨论】:

    标签: image codeigniter captcha php


    【解决方案1】:

    http://blog.grahamlicence.co.uk/post/preventing-image-corrupt-or-truncated-error-in-firebug.aspx

    您是否已重命名图像的文件扩展名(例如将 .jpg 更改为 .png)?

    【讨论】:

      【解决方案2】:

      实际上问题是我的一个库中有一个空格,在我删除了空格并删除了 php 结束标记之后,现在它可以正常工作了,谢谢 :)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-08
        • 2016-05-12
        相关资源
        最近更新 更多