2015-11-02 82 views
1

我有一個註冊表格,用戶應該上傳他們的照片和其他文件(例如doc-b,doc-b等)。如何將多個文件名保存到數據庫?

在我的形式

我有類似

<input type="file" name="doc-a" id="doc-a"> 
<input type="file" name="doc-b" id="doc-b"> 

「名稱」標籤標明它是什麼類型的文件,它是一個文檔A,文檔B,他的照片或等

在他的個人資料頁面中,我想鏈接每個單獨的文件。例如鏈接到doc-b。

所以我想到的是在DB中創建一個表來保存每個文件名和它們的類型(表單名稱標籤)。 但我不知道我怎麼能做到這一點

這裏提交表單,數據保存到數據庫和上傳文件的代碼:

$this->member->register($this->input->post(NULL, TRUE)); 
$this->upload->do_upload('photo'); 
$this->upload->do_upload('doc-a'); 
$this->upload->do_upload('doc-b'); 

,然後我想要做的是循環每個文件(我不知道我該怎麼做)

$member_id = $this->db->insert_id(); 
foreach ($_FILES as $member_files) { 

if ($_FILES[] == 'photo') { 
$file_type = 'photo'; 
}elseif ($_FILES['doc-a']) { 
$file_type = 'doc-a'; 


$data = array(
'id_member' => $member_id, 
'file_type' => $, // this should be the **name** tag 
'file_name' => $, // this should be the file name 
); 

$this->db->insert('member_files', $data); 
} 

無論如何,讓我知道你是否有更好的方式來做到這一點。 感謝

+0

閱讀本教程http://w3code.in/2015/09/upload-file-using-codeigniter/ – Ricky

+0

感謝@Ricky,但是這並不能解決我的問題。我已經把文件打碎了。但我需要知道哪個文件是哪個(預定義如:photo,doc-a,doc-b等) – taek

+0

您只想獲取擴展名並將其保存到數據庫? –

回答

0

要檢查文件的擴展名使用此代碼

foreach($files as $file){ 

        $name = $file->filename; 
        $info = new SplFileInfo($name); 
        $extension = $info->getExtension(); 
    } 
if($extension == "jpg" || $extension == "png" || $extension == "gif" || $extension == "jpeg") { 
show your image 
}else{ 
show other doc file 
     } 
相關問題