Code Igniter $ config ['master_dim']无法正常工作

时间:2014-04-08 08:34:22

标签: php codeigniter

我正在使用Code Igniter上传图片。在我的农场,我可以选择用户设置图像的宽度和高度。

如果用户同时设置了高度,则应将图像调整为指定的宽度和高度。

如果用户仅设置宽度,则图像应调整为如果用户设置高度,则图像调整大小为该高度,如果用户没有设置,高度图像将不会调整大小

我有以下代码,但是当用户设置宽度或高度时它不起作用。

$data_file = $this->upload->data();
$config['image_library'] = 'gd2';
$config['source_image'] = FPATH.'uploads/'.$data_file['file_name'];
$config['create_thumb'] = false;

 if($img_width>0 && $img_height>0){
 $config['maintain_ratio'] = false;
 $config['width']    = $img_width;
 $config['height']  = $img_height;

 }elseif($img_width>0 && $img_height<=0){
 $config['width']    = $img_width;
 $config['maintain_ratio'] = TRUE;    
 $config['master_dim'] = 'width';    

 }elseif($img_width<=0 && $img_height>0){
  $config['height'] = $img_height; 
  $config['maintain_ratio'] = TRUE;
  $config['master_dim'] = 'height';        
  }

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

 $this->image_lib->resize();

当我指定宽度和高度时,这工作正常,但如果我只指定宽度或高度,则将其调整为宽度或高度但是按比例调整。

由于

1 个答案:

答案 0 :(得分:0)

我会说你应该提供一个默认的宽度或高度,以防宽度或高度没有提到,因为图像由宽度和高度组成!

像我这样的东西会起作用 -

 $data_file = $this->upload->data();
$config['image_library'] = 'gd2';
$config['source_image'] = FPATH.'uploads/'.$data_file['file_name'];
$config['create_thumb'] = false;
$default_width=100;
$default_height=100;

// elseif conditions

elseif(!(isset($img_width)) && !(isset($img_height))){
  $config['height'] = $default_height; 
  $config['maintain_ratio'] = TRUE;
  $config['master_dim'] = 'height';        
  }


  }

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

 $this->image_lib->resize();