如何通过jQuery将“ multipart / form-data”(图片,pdf等)保存到mysql数据库mediumblob? - php

我正在构建评估工具。逻辑是:

在每个问题中,一旦我单击“上传/查看文件”,它将弹出一个模态;
在模式中,有一个部分可以选择要上传的图片/文档/视频。代码如下:
Html code
单击提交后,它将触发jquery,如下所示:

$(document).ready(function(){   
    $('#upload_file_attachment').submit(function(event){
        event.preventDefault();
        var formData = new FormData($(this)[0]);
        $.ajax({
            url: "ajax/upload-attachment.ajax.php",
            type: "POST",
            data: formData,
            async: false,
            cache: false,
            contentType: false, 
            processData: false,
            'success': function(data){
                            $('#upload_success_msg').fadeIn().html(data);
                            setTimeout(function(){
                                $('#upload_success_msg').fadeOut("Slow");
                            },5000);
                        }
        }); //End of ajax


})//End of submit

})

而以下是ajax php代码:

require_once '../php-includes/connect.inc.php';
global $db;
$assess_id=$_POST['assess_id'];
$quest_ref=$_POST['quest_ref'];
$email=$_POST['email'];
$type=$_POST['type'];

if($type=="file"){
    $file=$_FILES["file"];
    $fileName=$file["name"][0];
    if(empty($fileName)){
        echo "No File Selected";
        return;
    }
    $fileType=$file["type"][0];
    $fileData=$file["tmp_name"][0];

mysqli_query($db, "INSERT INTO `files` VALUES('$assess_id','$quest_ref','$fileName','$fileType','$fileData', NOW(), '$email', '')");
echo "Success";

}

但是,当我在上传文件后检查数据库时,它仅将名称“ C:xampp mpphpFE6F.tmp”上传到Blob中,显然$ fileData是不正确的。您能帮我怎么做吗?

谢谢

参考方案

另一种方法是将图像保存到服务器或类似cloudinary的文件,并将创建的链接保存到SQL。

如何使用多部分下载来远程下载文件? - php

我想将Internet上的远程文件下载到主机。但我想通过多部分下载来下载它,以使其下载速度更快。与下载管理器相同。 参考方案 您必须在请求时使用Range标头。发送Range: bytes=500-999将以500到999的形式下载字节;注意:PHP不是多线程语言。因此,即使您分批下载,它也将是连续的。除非您分叉多个进程。尽管使用了curl等第三方扩展,您可…

jQuery的Zend Form AJAX弹出窗口 - php

如何执行以下操作:我想要一个链接[上传图片],它会弹出模式形式,当用户填充它时,将处理该表单。(问题不在于上传,可以是联系表格或其他任何形式)。我的问题是,当验证失败时,如何显示表单和服务器端验证消息。我已经找到了本教程:http://www.whitewashing.de/blog/articles/92,但它似乎已经很老了。 参考方案 简单的JQuery…

PHP getallheaders替代 - php

我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…

PHP:将字符串拆分为字母和数字部分的最佳方法 - php

我有几个格式的字符串AA11 AAAAAA1111111 AA1111111 分离字符串的字母和数字部分的最佳方法(最有效)? 参考方案 如果它们都是一系列字母,然后是一系列数字,并且没有非字母数字字符,那么sscanf()可能比regexp更有效$example = 'AAA11111'; list($alpha,$numeric) =…