【问题标题】:PHP Ajax Query - Upload multiple files as blobPHP Ajax 查询 - 将多个文件上传为 blob
【发布时间】:2019-09-24 06:27:03
【问题描述】:

我正在实施一个小练习,用户可以选择多个文件,这些文件通过数据库作为 BLOBS 上传。但是,我对 FormData 插件不是很熟悉,这给我带来了一些困难。看起来 FormData 未获取正确选择的文件。

错误:通知:未定义索引:C:\xampp\htdocs\Excercise\file 中的文件-report-attachments.php 第 19 行

我已经研究过类似的主题,但没有运气。

<input class="fileInput" type="file" id="attachments" name="files[]" multiple>
var fileData = new FormData();

                $.each($("input[type='file']")[0].files, function(i, file) {
                    fileData.append('file', file);
                });



                $.ajax({
                    type: 'POST',
                    url: 'file-report-attachments.php',
                    data: fileData,
                    contentType:false,
                    cache: false,
                    processData: false,
                    success: function(response) {
                        console.log(response);
                    },error: function (error) {                       
                        console.log(error);
                    }
                });


<?php
    session_start(); 
    include("conn.php");

    $response = [];
    $response['dberror'] = false;
    $response['inputerror'] = false;
    $response['inserted'] = false;


    $upload_dir = 'uploads'.DIRECTORY_SEPARATOR; 
    $allowed_types = array('jpg', 'png', 'jpeg', 'gif', 'webm','mpg','mp2','mpeg','mp3','mp4','mpe','mpv','ogg','m4p','m4v','avi','wmv','mov','flv','ppm', 'pgm', 'pbm'); 

    // Define maxsize for files i.e 40MB 
    $maxsize = 40 * 1024 * 1024;  



    $file_names = $_FILES["files"]["name"];
    echo $file_names;

?>




我需要通过ajax和formdata(可以是多个)获取选中的文件,并通过php处理。

【问题讨论】:

标签: php jquery html mysql ajax


【解决方案1】:

您应该使用循环来获取多个文件数据,如下所示

foreach ($_FILES['files']['name'] as $name => $value) {
   if(is_uploaded_file($_FILES['files']['tmp_name'][$name])) {  
        $sourcePath = $_FILES['files']['tmp_name'][$name]; 
        $targetPath = "images/".$_FILES['files## Heading ##']['name'][$name];
        if(move_uploaded_file($sourcePath,$targetPath)) {
        }
   }
}

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-04
    • 2016-05-07
    • 1970-01-01
    • 1970-01-01
    • 2014-03-29
    • 1970-01-01
    • 2013-10-31
    • 2011-10-12
    相关资源
    最近更新 更多