В данный момент я работаю над проектом, в котором мне нужно 3 раза повторно сэмплировать загруженное изображение, моя проблема в том, что если я загружаю только 1 изображение, то изображение повторно сэмплируется только один раз, и я не уверен, чтогде это только один раз, ниже мой код,
if(is_array($this->input->post()) && $this->input->post('uploader_count') != "")
{
for($i=0; $i < (int)$this->input->post('uploader_count'); $i++)
{
//set up the first image manipulation, this goes from source image to a 209 wide image
$config['image_library'] = 'gd2';
$config['source_image'] = './media/uploads/headshots/'.$_POST['uploader_'.$i.'_name'];
$config['create_thumb'] = FALSE;
$config['maintain_ratio'] = FALSE;
$config['new_image'] = './media/uploads/headshots/width_209_'.$_POST['uploader_'.$i.'_name'];
$config['width'] = 209;
$this->load->library('image_lib');
$this->image_lib->clear();
$this->image_lib->initialize($config);
if(!$this->image_lib->resize())
{
echo $this->image_lib->display_errors();
}
else
{
$image = array(
'url' => $config['new_image'],
'asset_type' => 'image',
'asset_size' => 'large',
'date_uploaded' => date("Y-m-d h:i:s"),
'candidates_candidate_id' => $this->session->userdata('candidates_candidate_id')
);
$this->candidates_assets_model->insert($this->security->xss_clean($image));
//this goes from a 209 image to a 104
$config2['image_library'] = 'gd2';
$config2['source_image'] = './media/uploads/headshots/width_209_'.$_POST['uploader_'.$i.'_name'];
$config2['create_thumb'] = FALSE;
$config2['maintain_ratio'] = FALSE;
$config2['new_image'] = './media/uploads/headshots/width_104_'.$_POST['uploader_'.$i.'_name'];
$config2['width'] = 104;
$this->image_lib->clear();
$this->image_lib->initialize($config2);
if(!$this->image_lib->resize())
{
echo $this->image_lib->display_errors();
}
else
{
$image = array(
'url' => $config2['new_image'],
'asset_type' => 'image',
'asset_size' => 'medium',
'date_uploaded' => date("Y-m-d h:i:s"),
'candidates_candidate_id' => $this->session->userdata('candidates_candidate_id')
);
$this->candidates_assets_model->insert($this->security->xss_clean($image));
//this goes from a 104 image to 60
$config3['image_library'] = 'gd2';
$config3['source_image'] = './media/uploads/headshots/width_104_'.$_POST['uploader_'.$i.'_name'];
$config3['create_thumb'] = FALSE;
$config3['maintain_ratio'] = FALSE;
$config3['new_image'] = './media/uploads/headshots/width_60_'.$_POST['uploader_'.$i.'_name'];
$config3['width'] = 60;
$this->image_lib->clear();
$this->image_lib->initialize($config3);
if(!$this->image_lib->resize())
{
echo $this->image_lib->display_errors();
}
else
{
$image = array(
'url' => $config3['new_image'],
'asset_type' => 'image',
'asset_size' => 'small',
'date_uploaded' => date("Y-m-d h:i:s"),
'candidates_candidate_id' => $this->session->userdata('candidates_candidate_id')
);
$this->candidates_assets_model->insert($this->security->xss_clean($image));
}
}
}
}