[英]How can I upload a file and store a file table into DB?
我正在使用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")));
}
}
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.