我正在使用dropzone.js和Codeigniter处理文件上传过程的文章帖子:
在用户提交文章之前,他们可以上传文件。在这里,我需要一个数据库中的文件表来存储文章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")));
}
}
表单和dropzone的PHP:
<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>
答案 0 :(得分:0)
不是id自动增量吗?如果是这样,您不需要传递它,您可以传递null或跳过该字段。你可以在我上面看到的$ fileName变量中找到文件名。
答案 1 :(得分:0)
尝试使用insert_id()
获取最后插入的ID。