使用标头通过codeigniter显示图像

时间:2015-11-26 07:36:12

标签: php image codeigniter header

public function set_gcm_image_resolution()
 {
    $link='images/gcm_images';
    $image_url= base_url()."$link/banner_bg.jpg";


    list($width, $height) = getimagesize($image_url);

  $calculation=$width/3;

 $image_size='ldpi';
    switch($image_size)
    {       
        case "ldpi":    
        $cd =& get_instance();
    $cfg['image_library'] = 'gd2';
    $cfg['source_image']= $image_url;
    $cfg['create_thumb'] = FALSE;
    $config['new_image']=
    $cfg['maintain_ratio'] = TRUE;
    $cfg['width']    = round($calculation*0.75,'0');
    $cd->image_lib->clear();
    $cd->image_lib->initialize($cfg); 
    $result=$cd->image_lib->resize();

    return $result;

    break;

    }
}

我试图调用此函数来显示图像,但它不起作用,我尝试了一切,但没有用,可以有人告诉我如何显示图像使用(标题内容类型等),当这个功能呼叫

1 个答案:

答案 0 :(得分:1)

根据您的要求,您的代码应该是这样的:

function set_gcm_image_resolution()
{
    $link = 'images/gcm_images';
    $image_url = base_url() . "$link/banner_bg.jpg";


    list($width, $height) = getimagesize($image_url);

    $calculation = $width / 3;

    $image_size = 'ldpi';
    switch ($image_size) {
        case "ldpi":
            $cd = & get_instance();
            $cfg['image_library'] = 'gd2';
            $cfg['source_image'] = $image_url;
            $cfg['create_thumb'] = FALSE;
            $config['new_image'] = $cfg['maintain_ratio'] = TRUE;
            $cfg['width'] = round($calculation * 0.75, '0');
            $cd->image_lib->clear();
            $cd->image_lib->initialize($cfg);
            $result = $cd->image_lib->resize();
            $this->setHeader($image_url);
            echo readfile($image_url);
            //echo $result;

            break;
    }

    exit;
}

function setHeader($imagepath)
{
    $imgInfo = getimagesize($imagepath);
    if ($imgInfo[2] == 1) {
        $cd->output->set_header('Content-Type: image/gif');
    } else if ($imgInfo[2] == 2) {
        $cd->output->set_header('Content-Type: image/jpg');
    } else if ($imgInfo[2] == 3) {
        $cd->output->set_header('Content-Type: image/png');
    }

    $cd->output->set_header("Expires: Sat, 26 Jul 2020 05:00:00 GMT");
}