2012-04-05 18 views
6

画像をアップロードしてサイズを変更しようとしていますが、これまでのアップロードとサムネイル画像の作成が行われています。しかし、元の画像のサイズを変更することはできません。すべて起こっているのは、ファイルが元のサイズのフォルダに直接アップロードされていることだけです。私は、この画像を元にアップロードしたファイルを上書きするようにサイズを変更しようとしていると思います。CodeIgniter画像をアップロードしてサイズを変更します

//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('', '')); 
       } 
       }  
      } 

答えて

4

あなたはこのトリックを行う必要があります

$config['overwrite'] = TRUE; 

設定オプションにこれを追加しようとしましたしました:ここ

は、私が行方不明です何私のコードです。 trueに設定されている場合

は、ドキュメント

によると、あなたがアップロードが存在しているものと同じ名前のファイルならば、それは上書きされます。 falseに設定すると、同じ名前の別の名前が存在する場合、ファイル名に数字が追加されます。

3

私は過去20時間のためのサムネイルを作成しようとしていると私はコードをめちゃくちゃにされた場所、私は私のconfig配列を初期化していなかった実現するまで私は成功しませんでした!

だけ

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

は親指...........これはあなたのために働くホープあなたimage_libをロードした後のコード行を追加します!

0

イメージをCIで再生したい場合は、image_mooライブラリをお勧めします。

関連する問題