2016-09-22 16 views
0

アップロード処理中にすべてのファイルの名前を変更します。私は3つのファイルを一度にアップロードしています。私のフロントエンドのコードは、コントローラ内の複数のファイルの名前を変更するcodeigniter

<form> 
<input type="file" class="form-control" name="photo_1"> 
<input type="file" class="form-control" name="pan_1"> 
<input type="file" class="form-control" name="add_1"> 
</form> 

私のコードは

function upload(){ 
    $this->upload_file('photo_1'); 
    $this->upload_file('pan_1'); 
    $this->upload_file('add_1'); 
} 
function upload_file($field_name) 
    { 

     //$ext = substr(strrchr($_FILES[$field_name]['name'], '.'), 1); 
     //$new_name = $types.'_'.$numb.'_dev_.'.$ext; 
     $config['file_name']   = $_FILES[$field_name]['name']; 
     $config['upload_path']   = './uploads/'; 
     $config['allowed_types']  = 'jpeg|jpg|png'; 
     // $config['max_size']    = 100; 

     $this->load->library('upload', $config); 

     if (! $this->upload->do_upload($field_name)) 
     { 
      return array('error' => $this->upload->display_errors()); 

     } 
     else 
     { 
      $data = array('upload_data' => $this->upload->data()); 

     } 
    } 

を以下のようです。しかし、私は」増分とのそれぞれのファイルに同じ名前を取得します。 like photo_1、photo_11、photo_12。私は

+0

http://www.codexworld.com/codeigniter-upload-multiple-files-images/下の私のコントローラで次の行がありませんでした – dev

答えて

0

問題がここに$config['file_name'] = $_FILES[$field_name]['name'];ある任意のヘルプは理解されるであろう

photo_sometext_1のようなファイル名を欲しいです。必要なファイル名を渡す必要があります。

OR

良いアプローチは、ファイルごとにencrypt_nameを作成することです。このようにして、codeigniterはアップロードされたファイルごとにランダムな名前を作成します。

利用可能なオプションについては、https://www.codeigniter.com/userguide3/libraries/file_uploading.html#preferencesのドキュメントを参照してください。

0

完全に名前を変更する場合は、拡張子をキャプチャして、指定する名前に追加する必要があります。

$config['file_name'] =" some text".$extension 

$extensionようになりますあなたのファイルの拡張子です。

0

私はちょうど

​​
関連する問題