codeigniter 也有方便的 lib 處理圖片縮圖的部分,簡單的範例如下。
$config['image_library'] = 'gd2'; $config['source_image'] = '/path/to/image/mypic.jpg'; $config['create_thumb'] = TRUE; $config['maintain_ratio'] = TRUE; $config['width'] = 1024; $config['height'] = 1024; $this->load->library('image_lib',$config); $this->image_lib->resize();
上頭的程式碼告訴 image_resize 函式庫去找一個位於 source_image 資料夾裡名叫 mypic.jpg 的圖片,然後呼叫 GD2 image_library 影像函式庫來創建一張尺寸為 1024 X 1024 像素的縮圖,有設定 maintain_ratio 選項時,縮圖會在維持原本的長寬比例下,會盡可能的接近 width 跟 height 的像素尺寸大小,所以這個可以用來設定照片的最長邊,可以搭配伺服器抓到的圖片尺寸來判斷是否要縮圖,而縮圖的檔名會命名為 mypic_thumb.jpg。
若要一次上傳多張照片,就需要 reset image_lib。
$this->load->library('image_lib'); $this->image_lib->clear(); $this->image_lib->initialize($config); $this->image_lib->resize(); if ( ! $this->image_lib->resize()) { echo $this->image_lib->display_errors(); return; }
檢查錯誤的話使用 $this->image_lib->display_errors();