如何将多个文件名保存到数据库?
问题描述:
我有一个注册表格,用户应该上传他们的照片和其他文件(例如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);
}
无论如何,让我知道你是否有更好的方式来做到这一点。 感谢
答
要检查文件的扩展名使用此代码
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
}
阅读本教程http://w3code.in/2015/09/upload-file-using-codeigniter/ – Ricky
感谢@Ricky,但是这并不能解决我的问题。我已经把文件打碎了。但我需要知道哪个文件是哪个(预定义如:photo,doc-a,doc-b等) – taek
您只想获取扩展名并将其保存到数据库? –