2016-10-18 3 views
0
for ($img=0;$img<=5;$img++) 
{ 
    if (!empty($_FILES['picture_add_'.$img])) 
    { 
     if ($this->upload->do_upload('picture_add_'.$img)) 
     { 
      $uploaded = $this->upload->data(); 
      $data_picture_add = array(
            'filename' => $uploaded['file_name'], 
            'id'  => $last_id 
            ); 
      $this->db->insert('db_picture_individual', $data_picture_add); 
     } 
    } 
} 

2ファイル以上の画像を入力すると、1つのファイル名が暗号化されます。ファイル名の暗号化ファイルのアップロードコードシノニムのループの方法

どのようにすべてのファイル名を暗号化するのですか?

これは図である。

<input name="picture_add_1" class="form-control" style="padding-top: 0;" type="file"> 
<input name="picture_add_2" class="form-control" style="padding-top: 0;" type="file"> 
<input name="picture_add_3" class="form-control" style="padding-top: 0;" type="file"> 
<input name="picture_add_4" class="form-control" style="padding-top: 0;" type="file"> 
<input name="picture_add_5" class="form-control" style="padding-top: 0;" type="file"> 
+0

使用しているフォームのHTMLを表示してください。 – RiggsFolly

+0

RiggsFolly:上記のビューコードを挿入しました。ありがとうございました。 –

+1

あなたが本当にする必要があると思うのは、[マニュアルのこの部分を読んでください](http://php.net/manual/en/features.file-upload.php) – RiggsFolly

答えて

1

は、あなたのループ文内で設定を使用するようにしてください。

 for ($i = 1; $i <= count($_FILES); $i++) { 
      $config = array(); 
      $config['upload_path'] = './media/project_files'; 
      $config['allowed_types'] = '*'; 
      $config['max_size'] = '51200'; 
      $config['max_width'] = '5000'; 
      $config['max_height'] = '5000'; 
      $config['remove_spaces'] = TRUE; 
      $config['encrypt_name'] = TRUE; 

      $ups = $this->upload->do_upload("upload_file$i"); 
      $imgName[$i] = $this->upload->data(); 
     } 
+0

Kazi Nayem:$ config ['encrypt_name'] = TRUEを設定しました。私のコントローラのコードでは、1つのデータがDBに格納され、ファイルのアップロード作業、3つのファイルの画像を入力すると、画像はディレクトリ3のファイルにアップロードされますが、DBに格納されているデータは1つだけです。すべてのデータ入力をDBに保存する方法は? –

+0

私の例を編集しました。これをチェックしてください – kazinayem2011

+0

Kazi Nayem:実際には、私が上で作ったコードには何も問題はありません。私は最初の画像データを別のテーブルに保存していることに気付きました。それはデータが少ない方法です。あなたの時間に感謝:) –

関連する問題