2015-11-01 114 views
0

我有一個表格可以上傳約5個文件, 可以說是一個正在註冊的人的照片和關於他的其他文件。如何在上傳過程中重命名多個文件? Codeigniter

現在我正在爲每個註冊用戶創建一個文件夾名稱(順便說一句,這是件好事嗎?),並且我想用正確的名稱來重命名每個文件,比如照片,文檔A,文檔B等

我當前的代碼

 $upload_setting['upload_path'] = './uploads/'.$_POST['name'].'/'; 
     $upload_setting['allowed_types'] = 'jpg|pdf'; 
     $upload_setting['max_size'] = 5000; // 5 MB 
     $upload_setting['file_name'] = $_POST['name']; // this define the uploaded file name 


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


     if ($this->form_validation->run() == FALSE){ 
      $this->load->view('form'); 

     } 


     else{ 
      if (!is_dir('./uploads/'.$_POST['name'].'/')) { 
       mkdir('./uploads/'.$_POST['name'].'/', 0777, TRUE); 

      } 


      $this->member->register($this->input->post(NULL, TRUE)); 

      $this->upload->do_upload('photo'); 
      $this->upload->do_upload('document-A'); 
      $this->upload->do_upload('document-B'); 

此外,我怎麼可以讓他們自由地上傳JPG,PDF,DOC? 我必須鏈接這些文件在他們的個人資料頁面。 我怎麼知道他們爲每個文件上傳了什麼擴展名?

請讓我知道,如果您有任何建議或最佳做法做這種上傳,然後顯示在他們的個人資料的每個上傳。

感謝

回答

0

要知道你的文件的擴展名,你可以使用 -

$newname= "name"; 
    $path_parts = pathinfo($_FILES["picture"]["name"]); 
    $file_newname = $newname.'.'.$path_parts['extension']; 

要Upload-

if($_FILES['picture']['name']) 
      { 
       $config['upload_path'] = 'images/receipt/'; 
       $config['allowed_types'] = 'gif|jpg|jpeg|png'; 
       $config['file_name'] = $file_newname; //Here your file is being renamed 
       $this->load->library('upload', $config); 
       if (! $this->upload->do_upload('picture')) 
       { 
        $error = array('error' => $this->upload->display_errors()); 

        return false; 
       } 
      }