2012-04-05 39 views
6

Tôi đang cố gắng tải lên hình ảnh và thay đổi kích thước chúng, cho đến thời điểm tải lên đang hoạt động và cũng tạo hình ảnh móng tay cái. Nhưng tôi không thể có được hình ảnh ban đầu được thay đổi kích cỡ. Tất cả những gì đang xảy ra là tệp được tải trực tiếp lên thư mục ở kích thước ban đầu của nó. Tôi đoán tôi đang cố gắng để có hình ảnh này thay đổi kích cỡ nó sau đó ghi đè lên các tập tin được tải lên ban đầu.CodeIgniter Tải lên hình ảnh và sau đó thay đổi kích thước nó

Đây là mã của tôi những gì tôi thiếu:

//Initialise the upload file class 
    $config['upload_path'] = './image_uploads/'; 
    $config['allowed_types'] = 'jpg|jpeg|gif|png'; 
    $config['max_size'] = '6048'; 
    $this->load->library('upload', $config); 

    $userfile = "_upload_image"; 
      //check if a file is being uploaded 
      if(strlen($_FILES["_upload_image"]["name"])>0){ 

       if (!$this->upload->do_upload($userfile))//Check if upload is unsuccessful 
       { 
        $upload_errors = $this->upload->display_errors('', ''); 
        $this->session->set_flashdata('errors', 'Error: '.$upload_errors); 
        redirect('admin/view_food/'.$food->course_id); 
       } 
       else 
       { 
        //$image_data = $this->upload->data(); 

        ////[ THUMB IMAGE ] 
        $config2['image_library'] = 'gd2'; 
        $config2['source_image'] = $this->upload->upload_path.$this->upload->file_name; 
        $config2['new_image'] = './image_uploads/thumbs'; 
        $config2['maintain_ratio'] = TRUE; 
        $config2['create_thumb'] = TRUE; 
        $config2['thumb_marker'] = '_thumb'; 
        $config2['width'] = 75; 
        $config2['height'] = 50; 
        $this->load->library('image_lib',$config2); 

        if (!$this->image_lib->resize()){ 
       $this->session->set_flashdata('errors', $this->image_lib->display_errors('', '')); 
       } 

        //[ MAIN IMAGE ] 
        $config['image_library'] = 'gd2'; 
        $config['source_image'] = $this->upload->upload_path.$this->upload->file_name; 
        //$config['new_image'] = './image_uploads/'; 
        $config['maintain_ratio'] = TRUE; 
        $config['width'] = 250; 
        $config['height'] = 250; 
        $this->load->library('image_lib',$config); 

        if (!$this->image_lib->resize()){ 
       $this->session->set_flashdata('errors', $this->image_lib->display_errors('', '')); 
       } 
       }  
      } 

Trả lời

4

Bạn có cố gắng để thêm video này vào các tùy chọn cấu hình

$config['overwrite'] = TRUE; 

này nên làm các trick.

Theo tài liệu

Nếu thiết lập là true, nếu một tập tin có cùng tên như một trong những bạn đang tải lên tồn tại, nó sẽ được ghi đè. Nếu được đặt thành false, một số sẽ được thêm vào tên tệp nếu một số khác có cùng tên tồn tại.

3

tôi đã cố gắng tạo hình thu nhỏ trong 20 giờ qua và tôi đã không thành công cho đến khi tôi nhận ra nơi tôi đã rối tung lên với mã, tôi đã không BẮT ĐẦU mảng cấu hình của mình !!!

Chỉ cần thêm dòng mã này sau khi tải image_lib bạn

$this->image_lib->initialize($config); 

Hope làm việc này cho bạn ........... thumbs up!

0

Nếu bạn thích chơi với hình ảnh với CI, tôi khuyên bạn nên sử dụng thư viện image_moo.

Các vấn đề liên quan