-
-
class Upload extends Controller { - function go() {
- if(isset($_POST['go'])) {
- //初始化
- $config['upload_path'] = 'album/source';
- $config['allowed_types'] = 'gif|jpg|png|bmp|jpeg';
- $config['encrypt_name'] = TRUE;
- $config['remove_spaces'] = TRUE;
- $config['max_size'] = '0';
- $config['max_width'] = '0';
- $config['max_height'] = '0';
$this->load->library('upload', $config);
//170*170图片
- $configThumb = array();
- $configThumb['image_library'] = 'gd2';
- $configThumb['source_image'] = '';
- $configThumb['create_thumb'] = TRUE;
- $configThumb['maintain_ratio'] = TRUE; //保持图片比例
- $configThumb['new_image'] = 'album/thumb';
- $configThumb['width'] = 170;
- $configThumb['height'] = 170;
- //600*600图片
- $configLarge = array();
- $configLarge['image_library'] = 'gd2';
- $configLarge['source_image'] = '';
- $configLarge['create_thumb'] = TRUE;
- $configLarge['maintain_ratio'] = TRUE; //保持图片比例
- $configLarge['new_image'] = 'album/large';
- $configLarge['width'] = 600;
- $configLarge['height'] = 600;
$this->load->library('image_lib');
for($i = 1; $i < 6; $i++) { - $upload = $this->upload->do_upload('image'.$i);
- if($upload === FALSE) continue;
- $data = $this->upload->data();//返回上传文件的所有相关信息的数组
- $uid = $this->session->userdata('uid');
- $uploadedFiles[$i] = $data;
if($data['is_image'] == 1) {
- //初始化170*170
- $configThumb['source_image'] = $data['full_path']; //文件路径带文件名
- $this->image_lib->initialize($configThumb);
- $this->image_lib->resize();
- //初始化600*600
- $configLarge['source_image'] = $data['full_path']; //文件路径带文件名
- $this->image_lib->initialize($configLarge);
- $this->image_lib->resize();
- }
//插入图片信息到album表,插入的文件名为source目录文件名
- $picture = array(
- 'filename' => $data['file_name'],
- 'albumID' => $this->uri->segment(4,0),
- 'uid' => $this->session->userdata('uid'),
- 'dateline' => time(),
- 'describe' => '',
- 'click' => 0
- );
$this->load->model('album_model');
- $this->album_model->AddPic($picture);
- $picture = array();
- }
- }
- /* 转出 */
- $albumID = $this->uri->segment(4);
- $backurl = site_url() . 'photo/editpic/album/' .$albumID;
- $this->session->set_flashdata('msg','图片上传成功.');
- redirect($backurl,'refresh');
- }
- }
-
复制代码
2,views:new_pic.view文件:
type="submit" name="go" value="Upload photos" class="button" />
Notes:
1. To upload several files at a time, just modify the parameters in the loop part of the form and controller.
2. album\source is the original image directory after uploading. large and thumb are the directories where thumbnails are stored after executing $this->image_lib->resize(); twice.
3. If the thumbnail file name needs to be consistent with the album\source directory, please add the parameter $config['thumb_marker'] = '';.
4. The $picture part of the array is what is saved to the database and does not need to be ignored.
|