[英]How to resize image using Codeigniter
我正在嘗試上傳圖像並調整圖像大小。我想要圖像原始圖像以及拇指圖像。
但是問題是圖像調整大小的代碼無法正常工作。
圖像上傳代碼工作正常,將圖像存儲在文件夾中,但是圖像大小調整代碼不起作用。
我怎樣才能做到這一點 ?
這是我的代碼
public function add_images(){
$this->form_validation->set_rules('description','Description','required');
$this->form_validation->set_rules('status','Status','required');
if($this->form_validation->run() == TRUE) {
// print_r($this->input->post());
$config['upload_path'] = 'public/img/inner_images/';
$config['allowed_types'] = 'gif|jpg|jpeg|png'; // upload only valid images
// update library setting of upload
$this->load->library('upload', $config);
//upload image
$this->upload->do_upload('image');
$fInfo = $this->upload->data(); // get all info of uploaded file
//for image resize
$img_array = array();
$img_array['image_library'] = 'gd2';
$img_array['maintain_ratio'] = TRUE;
$img_array['create_thumb'] = TRUE;
//you need this setting to tell the image lib which image to process
$img_array['source_image'] = $fInfo['full_path'];
$img_array['width'] = 113;
$img_array['height'] = 75;
$this->load->library('image_lib', $img_array);
if (!$this->image_lib->resize())
{
echo $this->image_lib->display_errors(); exit;
}
if($fInfo['file_ext'] ==='.gif'||$fInfo['file_ext'] ==='.jpg'|| $fInfo['file_ext'] ==='.jpeg' || $fInfo['file_ext'] ==='.png'|| $fInfo['file_ext'] ===''){
$insert = array(
'inner_image' =>$fInfo['file_name'],
'description' => $this->input->post('description'),
'status' => $this->input->post('status')
);
$check = $this->mdl_inner->add_image($insert);
if($check){
$this->session->set_flashdata('success',"Image Added Sucessfully");
redirect('admin/inner_gallery/add_images/', 'refresh');
}
}else{
$this->session->set_flashdata('error',"Upload Proper Image Format");
redirect('admin/inner_gallery/add_images/', 'refresh');
}
}
$arrData['middle'] = 'admin/inner/add_image';
$this->load->view('admin/template',$arrData);
}
謝謝大家,但我解決了這個問題。 通過在構造函數中加載庫
$this->load->library('image_lib');
之后添加了兩個行代碼
$this->image_lib->clear();
$this->image_lib->initialize($img_array);
並刪除此行
$this->load->library('image_lib', $img_array);
我的最終代碼是
public function add_images(){
$this->form_validation->set_rules('description','Description','required');
$this->form_validation->set_rules('status','Status','required');
if($this->form_validation->run() == TRUE) {
// print_r($this->input->post());
$config['upload_path'] = 'public/img/inner_images/';
$config['allowed_types'] = 'gif|jpg|jpeg|png'; // upload only valid images
// update library setting of upload
$this->load->library('upload', $config);
//upload image
$this->upload->do_upload('image');
$fInfo = $this->upload->data(); // get all info of uploaded file
//for image resize
$img_array = array();
$img_array['image_library'] = 'gd2';
$img_array['maintain_ratio'] = TRUE;
$img_array['create_thumb'] = TRUE;
//you need this setting to tell the image lib which image to process
$img_array['source_image'] = $fInfo['full_path'];
$img_array['width'] = 113;
$img_array['height'] = 75;
$this->image_lib->clear(); // added this line
$this->image_lib->initialize($img_array); // added this line
if (!$this->image_lib->resize())
{
echo $this->image_lib->display_errors(); exit;
}
if($fInfo['file_ext'] ==='.gif'||$fInfo['file_ext'] ==='.jpg'|| $fInfo['file_ext'] ==='.jpeg' || $fInfo['file_ext'] ==='.png'|| $fInfo['file_ext'] ===''){
$insert = array(
'inner_image' =>$fInfo['file_name'],
'description' => $this->input->post('description'),
'status' => $this->input->post('status')
);
$check = $this->mdl_inner->add_image($insert);
if($check){
$this->session->set_flashdata('success',"Image Added Sucessfully");
redirect('admin/inner_gallery/add_images/', 'refresh');
}
}else{
$this->session->set_flashdata('error',"Upload Proper Image Format");
redirect('admin/inner_gallery/add_images/', 'refresh');
}
}
$arrData['middle'] = 'admin/inner/add_image';
$this->load->view('admin/template',$arrData);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.