如何将多个文件名保存到数据库?

时间:2015-11-02 05:39:49

标签: php sql codeigniter

我有一个注册表单,用户应该上传他们的照片和其他文档(例如doc-b,doc-b等)。

在我的表格中我有类似

的内容
<input type="file" name="doc-a" id="doc-a">
<input type="file" name="doc-b" id="doc-b">
&#34;&#34;名称&#34;标签表示它是什么类型的文件,是文件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);
}

无论如何,如果你有更好的方法,请告诉我。 感谢

1 个答案:

答案 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
         }