繁体   English   中英

如何上传文件并将文件表存储到DB中?

[英]How can I upload a file and store a file table into DB?

我正在使用dropzone.js和Codeigniter处理带有文件上传过程的文章:

  1. 有一种发表文章的表格
  2. 有一个dropzone允许用户上传文件

在用户提交文章之前,他们可以上传文件。 在这里,我需要数据库中的文件表来存储文章ID和文件名。

我的问题是 :只有单击提交表单按钮后,文章才会存储到数据库中,之后我将获得文章ID。 但是,一旦我将文件拖到dropzone中,该文件即被上传。 那么如何将“ article_id-file_name”对存储到数据库中?

这是我上传文件的代码:

PHP上传文件:

public function upload() {
    if (!empty($_FILES)) {
    $tempFile = $_FILES['file']['tmp_name'];
    $fileName = $_FILES['file']['name'];
    $targetPath = getcwd() . '/uploads/';
    $targetFile = $targetPath . $fileName ;
    move_uploaded_file($tempFile, $targetFile);

    // store table in db
    $this->load->database(); // load database
    $this->db->insert('file_table', array('id'=> '', 'article_id' => '', 'file_name' => $fileName, 'created_time'=> date("Y-m-d H:i:s")));
    }
}

PHP用于表单和dropzone:

<form>
...            
<div id="dropzone" class="dropzone">
   <div class="dz-message">
       Drop files here or click to upload.<br />
       <span class="note">(You might select multiple files here.)</span>
   </div>
</div>
...
</form>

id不是自动递增的吗? 如果是这样,则不需要传递它,可以传递null或跳过该字段。 您可以从上面看到的$ fileName变量中找到文件名。

尝试使用insert_id()获取最后插入的ID。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM