在codeigniter中调整图像950 * 950

时间:2014-03-05 22:28:59

标签: codeigniter codeigniter-2

我对发布这个问题犹豫不决,因为我在这里看到了几十个,但所有答案都没有用。

所以,我有这个工作代码。它上传图片并获取缩略图。

我允许用户上传950 * 950张照片。我想调整那些照片以适应我的节目页面。

所以,这是调整大小的一部分:

    $id=uniqid();

            $folder = $this->getDir($id);

            $dir=FCPATH.'upload/biz_photos/'.$folder.'/';

            if(!is_dir($dir)) {

              mkdirs($dir);
    }

    //handle img
    $des_file=$dir.$id.'.jpg';

            $thumb_file=$dir.$id.'.thumb.jpg';

            $info=getimagesize($org_file);

            if($info[0] <= 300) {

            copy($org_file,$dir.$id.'.jpg');

            }

            else

            {

            $this->load->library('image_lib');

            $config['image_library'] = 'GD2';

    $config['source_image']=$org_file;

    $config['new_image'] = $des_file;

        $config['overwrite']= true;

            $config['maintain_ratio'] =true;

            $config['width'] = 600;

            $config['height'] = floor(($info[1]/$info[0])*600);

            $this->image_lib->initialize($config);

        $this->image_lib->resize();

            // handle if there is any problem

            if ( ! $this->image_lib->resize()){

              echo $this->image_lib->display_errors();

            }

    }

就像我测试它,并上传950 * 950,然后检查上传的图像,大小仍然 原来的。没有调整大小

3 个答案:

答案 0 :(得分:0)

此图像调整大小类易于设置和使用 https://github.com/Nimrod007/PHP_image_resize

答案 1 :(得分:0)

几小时后我确实发现了问题。所以,我有一个缩略图功能,我正在传递原始图片而不是传递新图片(尺寸图片)。

由于

答案 2 :(得分:0)

$this->load->library('image_lib');
$config['source_image']=$org_file;
$config['new_image'] = $des_file;
$config['overwrite']= true;
$config['maintain_ratio'] =true;
$config['width'] = 950;
$config['height'] = 950;
$this->image_lib->clear();
$this->image_lib->initialize($config);
$this->image_lib->resize();