Dropzone检查最大值文件PHP方面

时间:2017-10-11 14:47:51

标签: javascript php file-upload dropzone.js

我正在通过dropzone.js向我的PHP服务器发送一些文件。我在验证PHP端发送的最大文件时遇到问题。即使我将使用maxFiles param for dropzone.js,我也希望确保没有多少奇怪的事情被发送超过需要。主要问题是dropzone可以按POST请求发送文件,所以我不能简单地count($_FILES),因为总会有1个。

所以我决定使用会话ID和字段哈希将临时上传存储在数据库中,并选择该哈希上传的计数。

不幸的是,这不能按预期工作,因为另一个请求的发送速度太快。

代码是:

if ($request->ajax())
{
    $hash = md5(Session::getId() . '_myupload');
    $count = DB::query("SELECT COUNT(id) FROM temp_uploads WHERE hash = ?")->param($hash)->execute();
    echo $count; // 0

    // Store the file

    DB::query("INSERT INTO temp_uploads (key) VALUES (?)")->param($hash)->execute();
    $request->file('myupload')->store('uploads');
}

我正在上传两个文件,第二个请求是在INSERT查询完成执行之前发送的。

如何在PHP中正确验证来自多个请求的最大文件?

0 个答案:

没有答案