2016-05-20 12 views
6

に小文字に大文字に変更され、私はファイル拡張子CodeIgniterの

(それが小文字に変更されています)

$this->upload->do_upload('image') 

を使用してCodeIgniterの中のファイルをアップロードしていますが、特定のパスにファイルを移動するには、ファイルの拡張子が変更されたとき例えば

私はファイル "profile.JPG" をアップロードした場合、それは

+1

upload.php私はあなたが今、すべての拡張子が小文字であることを期待して知っている、これは利点であると思ったのでしょう。大文字と小文字の区別のためにファイルを取り出すときに破損しているデータベースにファイル名を保存している場合は、DBに挿入するときにすべてのファイル名をstrtolower()にしてください。 – JohnnyFaldo

+1

はい、それが唯一の利点です。 strtolower()はそのための良いオプションです。 –

+0

いくつかのシステムでは大文字と小文字が区別されるので、私の推測は間違いです。なぜなら、これはアップロード時にすべてのファイル拡張子を正規化するからです。大文字小文字を区別しないシステムからサイトを大文字小文字を区別するシステムに移行すると、そうでなければ面倒になることがあります – JohnnyFaldo

答えて

2

をCIシステムライブラリにFALSE CIアップロードライブラリの$ file_ext_tolower =中

デフォルトを変更してください。

.system \ライブラリ\

public $file_ext_tolower = TRUE; 
1

do_uploadこの

$の設定[ 'すべてを行う "profile.jpg" への変更ですowed_types'] = 'GIF | JPG | PNG'

function do_upload() 
    { 
     $config['upload_path'] = './uploads/'; 
     $config['allowed_types'] = 'gif|jpg|png'; 
     $config['max_size'] = '100'; 
     $config['max_width'] = '1024'; 
     $config['max_height'] = '768'; 

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

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

      $this->load->view('upload_form', $error); 
     } 
     else 
     { 
      $data = array('upload_data' => $this->upload->data()); 

      $this->load->view('upload_success', $data); 
     } 
    } 

あなたがあなたのファイルを保存するために送っ同じ名前/拡張子を使用したい場合。あなたは使用することができます。

$upload_dir= $this->config->item("upload_dir"); 
$fileName = $_POST['sku_code'].".".$extension; 
$filePath = $upload_dir.$fileName; 
move_uploaded_file($_FILES["image-file"]["tmp_name"],$filePath); 

お役立ちリンク:

https://ellislab.com/codeigniter/user-guide/libraries/file_uploading.html

関連する問題