我花了太多时间在这上面,并在stackoverflow上浏览了各种问题/答案。
我正在使用dropzone.js向我们的HTML / PHP表单添加基本的拖放上传功能。拖放工作正常,但是当提交表单或上传文件时,$ _FILES返回空,我无法弄明白。
我检查了一个tutorial但没有运气,还在Q & A's stackoverflow之前检查了一些posting,但没有任何帮助。
这是最简单形式的表格:
<form action="<? echo BASE_URL; ?>/process-uploads.php" method="POST" class="form-signin" role="form" enctype="multipart/form-data">
<div class="upload_container dropzone">Drag & drop file here or
<div class="fallback">
<input name="ad" type="file" />
</div>
</div><!--fileUpload btn btn-primary-->
<div class="dropzone-previews"></div>
<input class="btn btn-lg btn-primary btn-block btn-forward" style="background:#00a85a;" type="submit" name="submit" value="Next Step" />
</form>
JS是:
<script type="text/javascript">
var myDropzone = new Dropzone(".dropzone", {
url: "<? echo BASE_URL; ?>/process-uploads.php/",
paramName: "ad",
addRemoveLinks: true,
//maxFiles: 1,
autoProcessQueue: false,
//uploadMultiple: false,
acceptedFiles: "image/png",
dictInvalidFileType: "This file type is not supported.",
});
</script>
process-upload.php只是检查是否发送了什么,但是返回空:
<?php
if (!empty($_FILES)) {
echo 'We have a file';
if($_FILES['ad']) {
echo 'We grabbed the ad<br />';
echo '<pre>';
var_dump($_FILES);
echo '</pre>';
}
}
?>
非常感谢任何帮助。作为参考,我已经检查了enyo的combining a form with dropzone and php
教程答案 0 :(得分:3)
今天我遇到同样的问题没有回复,上传文件和搜索所有SO问题时没有任何错误,我读了你的代码几次但没有解决方案。
我后来发现post_max_size = 8M
设置得太小,无法上传大文件。确保将post_max_size
设置得足够大,所以请在.htaccess文件中创建/添加它,我需要上传一个2gb的文件
php_value upload_max_filesize 2047M
php_value post_max_size 2047M
php_value max_execution_time 10800
答案 1 :(得分:0)
您需要在字段中添加name
:
<input type="file" name="ad" />
答案 2 :(得分:-2)
我想你参考了这篇文章...... Dropzone Demo
你能否加上课程&#39; dropzone&#39;你的形式如下,并尝试
<form action="<? echo BASE_URL; ?>/process-uploads.php" method="POST" class="dropzone form-signin" role="form" enctype="multipart/form-data">