2011-10-24 15 views
0

イメージをアップロードするたびに3つのイメージをアップロードしようとしていますが、イメージ名を配列imagesに入れていますが、メソッドの最後には、print_r($images)しか取得できません。アップロードされた最後の画像の名前、誰でもこの理由を教えてもらえますか?ここでcodeigniter multiple upload

// lets get rid of any old configs 
        $secondaryConfig['upload_path'] = './media/uploads/news/'; 
        $secondaryConfig['allowed_types'] = 'gif|jpg|png'; 
        $secondaryConfig['max_size'] = '4000'; 
        $secondaryConfig['max_width'] = '230'; 
        $secondaryConfig['max_height'] = '120'; 

        $secondaryManipulationConfig['image_library'] = 'gd2'; 
        $secondaryManipulationConfig['create_thumb'] = FALSE; 
        $secondaryManipulationConfig['maintain_ratio'] = TRUE; 
        $secondaryManipulationConfig['width'] = 132; 
        $secondaryManipulationConfig['height'] = 80; 


        //image_1 
        $this->upload->initialize($secondaryConfig); 
        if (!$this->upload->do_upload('image_1')) 
        { 
         $data['error_image_1'] = $this->upload->display_errors(); 
         $this->template->build('admin/news/edit', $data); 
         return; 
        } 
        else 
        { 
         $image = $this->upload->data(); 
         $images[] = $image['file_name']; 

         $this->image_lib->initialize($secondaryManipulationConfig); 
         $secondaryManipulationConfig['source_image'] = './media/uploads/news/'.$image['file_name']; 
         if (!$this->image_lib->resize()) 
         { 
          $data['error_image_1'] = $this->image_lib->display_errors(); 
          $this->template->build('admin/news/edit', $data); 
          return; 
         } 
        } 


        $this->upload->initialize($secondaryConfig); 

        if (!$this->upload->do_upload('image_2')) 
        { 
         $data['error_image_2'] = $this->upload->display_errors(); 
         $this->template->build('admin/news/edit', $data); 
         return; 
        } 
        else 
        { 
         $image = $this->upload->data(); 
         $images[] = $image['file_name']; 

         $this->image_lib->initialize($secondaryManipulationConfig); 
         $secondaryManipulationConfig['source_image'] = './media/uploads/news/'.$image['file_name']; 
         if (!$this->image_lib->resize()) 
         { 
          $data['error_image_2'] = $this->image_lib->display_errors(); 
          $this->template->build('admin/news/edit', $data); 
          return; 
         } 
        } 

        //image_3 
        $this->upload->initialize($secondaryConfig); 
        if (!$this->upload->do_upload('image_3')) 
        { 
         $data['error_image_3'] = $this->upload->display_errors(); 
         $this->template->build('admin/news/edit', $data); 
         return; 
        } 
        else 
        { 
         $image = $this->upload->data(); 
         $images[] = $image['file_name']; 

         $this->image_lib->initialize($secondaryManipulationConfig); 
         $secondaryManipulationConfig['source_image'] = './media/uploads/news/'.$image['file_name']; 
         if (!$this->image_lib->resize()) 
         { 
          $data['error_image_3'] = $this->image_lib->display_errors(); 
          $this->template->build('admin/news/edit', $data); 
          return; 
         } 
        } 
+0

のようになります。私はフルサイズの画像をアップロードしてこれを解決し、最終的なアップロード( 'copy'または' move_uploaded_file'を使用)の後でサイズを変更しました – Aif

+0

アップロードするファイルをすべて静的に初期化するのはなぜですか?貴方はするべきではない! [このガイド](http://codeigniter.com/user_guide/libraries/file_uploading.html)を使用し、コードを修正してください。 – user973254

答えて

1

バディ、私のコードで私はあなたがHTMLを書かれているかどうかはわかりませんが、サンプルコードの下にしてみてください。 1つのtest.phpファイルを作成してデモを確認し、必要に応じてコード内のロジックを複製することができます。

<?php 
    if($_POST) 
    { 
     print "<pre>";print_r($_FILES);print "</pre>"; 
    } 
?> 
<form name="frm" method="post" enctype="multipart/form-data"> 
File1 : <input type="file" name="images[]" id="images[]"/> <br> 
File2 : <input type="file" name="images[]" id="images[]"/> <br> 
File3 : <input type="file" name="images[]" id="images[]"/> <br> 
<input type="submit" name="Submit" /> 
</form> 

と出力は、私は、問題の同じ種類を持っていた

Array 
(
    [images] => Array 
     (
      [name] => Array 
       (
        [0] => Chrysanthemum.jpg 
        [1] => Desert.jpg 
        [2] => Tulips.jpg 
       ) 
      [type] => Array 
       (
        [0] => image/jpeg 
        [1] => image/jpeg 
        [2] => image/jpeg 
       ) 
      [tmp_name] => Array 
       (
        [0] => C:\wamp\tmp\phpE961.tmp 
        [1] => C:\wamp\tmp\phpE971.tmp 
        [2] => C:\wamp\tmp\phpE972.tmp 
       ) 
      [error] => Array 
       (
        [0] => 0 
        [1] => 0 
        [2] => 0 
       ) 
      [size] => Array 
       (
        [0] => 879394 
        [1] => 845941 
        [2] => 620888 
       ) 
     ) 
)