0

i use Blueimp jQuery File Uploader and i want to update user's disk space used by getting filesize of each file including filesize of thumbnail (if file is image) in database. i noticed that each file, sends separate request to server so there will be mysql_query for each file.

  1. first of all: where to put the mysql_query
  2. 2nd: is it ok to run a update query foreach file?
4

2 回答 2

0

您是否尝试过 Blueimp jquery file Uploader 的 github wiki。

这是链接https://github.com/blueimp/jQuery-File-Upload/wiki/Working-with-databases

它告诉您如何将数据库与上传器一起使用,并且您必须添加数据库更新代码

在 UploadHandler.php 中,因为在每次上传时,此上传者都会向服务器发送 XML 请求,

并使用 server/php 文件夹中 UploadHandler.php 中定义的类。

同样在受保护的函数 handle_file_upload 中,定义了大小变量,将在您的 mysql 查询中使用。

$file->size = $this->fix_integer_overflow(intval($size));

休息一下,你可以通过我给你的链接自己做。

于 2013-08-11T06:01:12.770 回答
0

对于那些有同样问题的人,我找到了解决方案,首先你需要添加查询功能,如此处所述https://github.com/blueimp/jQuery-File-Upload/wiki/Working-with-databases

然后改变

        if (is_int($img_width)) {
            $this->handle_image_file($file_path, $file);
        }

对此

        if (is_int($img_width)) {
            $this->handle_image_file($file_path, $file);
        }else
    {
    $file->upload_to_db = $this->update_plus($file_size);//custom query function

然后搜索 *handle_image_file* 函数并添加此$filesize = 0; 在开头并在函数末尾添加以下代码

    $dir = 'yourBaseDir';
    if($file->url) $filesize += filesize(urldecode($dir.$file->url));
    if($file->thumbnail_url) $filesize += filesize(urldecode($dir.$file->thumbnail_url));
    $file->upload_to_db = $this->update_plus($filesize);
}

删除我使用上传者之外的自定义功能

于 2013-08-11T07:40:04.010 回答