【问题标题】:How to save multiple file name to a database?如何将多个文件名保存到数据库中?
【发布时间】:2016-02-01 23:14:57
【问题描述】:

我有一个注册表单,用户应该上传他们的照片和其他文件(例如 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。

所以我想到的是在数据库中创建一个表来保存每个文件名及其类型(表单名称标签)。 但我不知道该怎么做

这是提交表单、将数据保存到数据库和上传文件的代码:

    $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);
}

无论如何,如果你有更好的方法来做这件事,请告诉我。 谢谢

【问题讨论】:

  • 谢谢@Ricky,但这并不能解决我的问题。我已经上传了文件。但我需要知道哪个文件是哪个文件(预定义,例如:照片、doc-a、doc-b 等)
  • 你只是想获得一个扩展并将其保存到数据库中?
  • 嗨@DeepParekh,我需要通过使用表单(名称标签) 知道什么文件。所以我知道它是否可以说是许可证文件或出生文件等。或者是否有更好的方法来做到这一点?

标签: php sql codeigniter


【解决方案1】:

要检查文件的扩展名,请使用此代码

 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
         }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-24
    • 2015-08-27
    • 1970-01-01
    • 2017-10-29
    • 1970-01-01
    • 2011-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多