Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 上载多个图像时获取多个json对象_Php_Jquery - Fatal编程技术网

Php 上载多个图像时获取多个json对象

Php 上载多个图像时获取多个json对象,php,jquery,Php,Jquery,当我上传多个图像时,我的控制台中没有任何信息,但当我上传一个图像时,该图像的信息会显示在我的控制台中。我想要的是,如果我上传一个以上的图像,我就可以得到这些信息,这样我就可以通过add缩略图()函数在页面中循环显示这些信息 当我上传多张图片时,这会显示在我的“网络”选项卡中的响应中 {"name":"kitten_01.jpg"}{"name":"kitten_05.jpg"} 我的控制台是空白的,但当我上传一张图片时 {"name":"kitten_05.jpg"} 我把它放在控制台里 O

当我上传多个图像时,我的控制台中没有任何信息,但当我上传一个图像时,该图像的信息会显示在我的控制台中。我想要的是,如果我上传一个以上的图像,我就可以得到这些信息,这样我就可以通过
add缩略图()
函数在页面中循环显示这些信息

当我上传多张图片时,这会显示在我的“网络”选项卡中的响应中

{"name":"kitten_01.jpg"}{"name":"kitten_05.jpg"}
我的控制台是空白的,但当我上传一张图片时

{"name":"kitten_05.jpg"}
我把它放在控制台里

Object { name: "kitten_05.jpg" }
这是我的main.js

$(document).ready(function(){
    var dropZone = document.getElementById('drop-zone');

    $(".upload-area").on('drop', function(e){
        e.preventDefault();

        var files_list = e.originalEvent.dataTransfer.files;
        var formData  = new FormData(); 

        for(i = 0; i < files_list.length; i++){
            formData.append('file[]', files_list[i]);
        }

        $.ajax({  
            url:"upload.php",  
            method:"POST",  
            data:formData,  
            contentType:false,  
            cache: false,  
            processData: false,  
            dataType: 'json',
            success:function(response){  
                addThumbnail(response);
            }  
        })
    });

    dropZone.ondragover = function(e){
        return false;
    }

    dropZone.ondragleave = function(e){
        return false;
    }
});


function addThumbnail(data){
    var len = $("#drop-zone div.thumbnail").length;

    var num = Number(len);
    num = num + 1;
    var name = data.name;

    console.log(data);
    $("#uploaded-image").append('<div id="thumbnail_'+num+'" class="thumbnail"></div>');
    $("#thumbnail_"+num).append('<img src="uploads/'+name+'" width="100%" height="78%">');
}

这是因为在循环中,每个数组都是自己编码的。取而代之的是,制作一个数组数组,只在循环之后对整个内容进行编码,就是这样。真不敢相信这么简单。
$allowed = ['png', 'jpg'];

foreach($_FILES['file']['name'] as $key => $name)
{
    $temp = $_FILES['file']['tmp_name'][$key];

    $ext = explode('.', $name);
    $ext = strtolower(end($ext));

    $return_arr = array();
    if(in_array($ext, $allowed) && move_uploaded_file($temp, 'uploads/'.$name))
    {
        $return_arr = array("name" => $name);
    }

    echo json_encode($return_arr);
}
$allowed = ['png', 'jpg'];
$return_arr = array();

foreach($_FILES['file']['name'] as $key => $name)
{
    $temp = $_FILES['file']['tmp_name'][$key];

    $ext = explode('.', $name);
    $ext = strtolower(end($ext));

    if(in_array($ext, $allowed) && move_uploaded_file($temp, 'uploads/'.$name))
    {
        $return_arr = array("name" => $name);
    }
}
echo json_encode($return_arr);