php
  • codeigniter
  • 2016-10-13 5 views 0 likes 
    0

    アップロード時にファイル名の拡張子を保存する必要があります。私のdatabse.myに名前を変更すると拡張子を取得できません。PHP:Codeigniterでアップロードされたファイルのファイル名と拡張子を取得するには?

    $new_file_name=date("mdY")."_".time(); 
        $config['upload_path']   = './assets/images/'; 
        $config['allowed_types']  = 'gif|jpg|png'; 
        $config['max_size']    = 2048; 
        $config['max_width']   = 1024; 
        $config['max_height']   = 768; 
        $config['file_name']   = $new_file_name; 
    
        $this->load->library('upload', $config); 
    
        if (! $this->upload->do_upload('uploadFile')) 
        { 
          $error = array('error' => $this->upload->display_errors()); 
    
          var_dump($error); 
        } 
        else 
        { 
          $data = array('upload_data' => $this->upload->data()); 
          var_dump($data); 
          echo $config['file_name'] . $config['file_ext']; 
    
        } 
    

    私の次の質問ロードヘルパーフォームは?ライブラリform_validationを使用するにはload formが必要ですか?あなたは、ファイルをアップロードした後、ファイル

    $ext = implode('.',$file_name); 
    echo $ext[1]; 
    
    +1

    可能な複製(http://stackoverflow.com作るために[PHPでファイルの拡張子を抽出する方法を?]/questions/173868/file-ext-in-file-extension-in-php) –

    +0

    このユーザーガイドを参照してください:https://codeigniter.com/user_guide/libraries/file_uploading.html#preferencesこの回答を使用して適用してください。 :http://stackoverflow.com/a/5257466/4952944 – Bhavin

    +0

    あなたは$ this-> upload-> data()から作成したvar_dump($ data)のすべてのFile属性を見るべきです。だから、あなたはそれから望むものをつかむだけです。 – TimBrownlaw

    答えて

    -3

    、あなたがすることによって、そのプロパティを取得することができます:

    $saved_file_name = $this->upload->data('file_name'); 
    // will give you the filename along with the extension 
    

    fを取得する場合はILE拡張子それをアップロードする前に、コアのPHPを使用します。

    $file_ext = pathinfo($_FILES["file"]["name"], PATHINFO_EXTENSION); 
    

    をするか、クリーン

    $filename= $_FILES["file"]["name"]; 
    $file_ext = pathinfo($filename,PATHINFO_EXTENSION); 
    
    +0

    ファイル名に "。"(ドット)が含まれていれば、それは爆縮ではなく、 – saikiran

    +0

    であり、動作しません。例:abc.xyz.jpg –

    0

    のために、このコード

    $file_name = $data['file_name']; 
    echo $file_name; 
    

    と拡張子を使用してファイル名を取得することができます

    $this->load->helper(array('form')); for ? 
    
    $this->load->library('form_validation'); this for validation rule 
    
    関連する問題