Dropzone.js-显示服务器上的现有文件

我目前正在使用dropzone.js v3.10.2。我在显示已上载的现有文件时遇到问题。我非常精通php,但是我对ajax和js的了解有限

如果你能帮忙,那就太棒了

提前谢谢

index.php

<html>
<头>
<链接href=”https://stackoverflow.com/questions/24009298/css/dropzone.css“type=“text/css”rel=“stylesheet”/>
<脚本src=”https://stackoverflow.com/questions/24009298/ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js“&gt&lt/脚本>
<脚本src=”https://stackoverflow.com/questions/24009298/dropzone.min.js“&gt&lt/脚本>
<脚本>
Dropzone.options.myDropzone={
init:function(){
thisDropzone=这个;
$.get('upload.php',函数(数据){
$。每个(数据、函数(键、值){
var mockFile={name:value.name,size:value.size};
thisDropzone.options.addedfile.call(thisDropzone,mockFile);
调用(thisDropzone,mockFile,“uploads/”+value.name);
});
});
}
};
&lt/脚本>
&lt/头>
<车身>
<form action=“upload.php”class=“dropzone”id=“my dropzone”&gt&lt/表格>
&lt/车身>

upload.php

<?php
$ds=目录\分隔符;
$storeFolder='uploads';
如果(!空($\u文件)){
$tempFile=$\u FILES['file']['tmp\u name'];
$targetPath=dirname(_文件).$ds.$storeFolder.$ds;
$targetFile=$targetPath.$\u文件['file']['name'];
移动上传的文件($tempFile,$targetFile);
}否则{
$result=array();
$files=scandir($storeFolder);//1
if(false!==$files){
foreach($files作为$file){
如果('.!=$file&'.'!=$file){//2
$obj['name']=$file;
$obj['size']=filesize($storeFolder.$ds.$file);
$result[]=$obj;
}
}
}
标题('Content-type:text/json');//3
标题('Content-type:application/json');
echo json_编码($result);
}
?>

我知道php正在检索数据

提前谢谢

达米安

我检查了代码(来自starTutorial),它也不适合我(?)

我通过更换以下部件使其正常工作:

$.get('upload.php',函数(数据){
$。每个(数据、函数(键、值){
var mockFile={name:value.name,size:value.size};
thisDropzone.options.addedfile.call(thisDropzone,mockFile);
调用(thisDropzone,mockFile,“uploads/”+value.name);
});
});

为此:

$.getJSON('files/list all',函数(数据){
$.each(数据、函数(索引、val){
var mockFile={name:val.name,size:val.size};
thisDropzone.options.addedfile.call(thisDropzone,mockFile);
调用(thisDropzone,mockFile,“uploads/”+val.name);
});
});

这一回答值得赞扬:https://stackoverflow.com/a/5531883/984975

编辑:
在版本4.0中,现有文件的缩略图将显示,其中包含提示栏。要解决此问题,请添加:

thisDropzone.emit(“完成”,mockFile);

发表评论