2011-10-18 11 views
0

ユーザー名、IDを挿入するページがあり、ユーザーは最大10枚の画像をアップロードできる必要があります。codeigniterを使用した複数の画像のアップロード

私が持っている主な問題は、codeigniterを使って複数の画像をアップロードすることです。

  1. 私は配列への各 個々の画像の各画像のパスを渡すことができますどのように私はそれをデータベースに渡すことができるように誰かが私を提案することができます。

  2. 、ユーザーが2または5 のように、10未満の画像をアップロードすることを選択した場合、その後どのように私は、ファイルが を選択し、JSTアップロードされた画像のみを渡されていないというエラーを無視することができます。

    <form method="post" action="uploader/go" enctype="multipart/form-data"> 
    <input name="username" type="text" /><br /> 
    <input name="nid" type="text" /><br /> 
    <input type="file" name="image1" /><br /> 
    <input type="file" name="image2" /><br /> 
    <input type="file" name="image3" /><br /> 
    <input type="file" name="image4" /><br /> 
    <input type="file" name="image5" /><br /> 
    <input type="file" name="image6" /><br /> 
    <input type="file" name="image7" /><br /> 
    <input type="file" name="image8" /><br /> 
    <input type="file" name="image9" /><br /> 
    <input type="file" name="image10" /><br /> 
    <input type="submit" name="go" value="Upload!!!" /> 
    </form> 
    

試料コントローラ

$image_data=array('image_info' => $this->upload->data('image')); 
$image_path=$image_data['image_info']['full_path']; 

$data =array(
      'id'=>uniqid('id_'), 
        'nID'=>$this->input->post('nid'), 
      'username'=>$username, 
      'image1'=>$image_path 
} 

任意の助けが理解されるであろう。

答えて

4

に変更入力名:

<input type="file" name="image[1]" /><br /> 
<input type="file" name="image[2]" /><br /> 
<input type="file" name="image[3]" /><br /> 
代わり

$this->upload->data('image')が配列あろう。

そして、あなたが行うことができます。

foreach($this->upload->data('image') as $image) { 
    passItToTheDatabase(); // your custom function 

} 
+0

クール...おかげでなく、どのような画像hasntが選択されている場合?どうすればそのエラーをスキップできますか? – LiveEn

+0

@Liveあなたはエラーが発生しますか? – Teneff

+3

あなたはeveyファイルフィールドの '
'を設定することができますので、IDは自動的にPHPによって生成されます – user973254

関連する問題