【问题标题】:Dropzone always return 'empty($_FILES)' as trueDropzone 始终将 'empty($_FILES)' 返回为 true
【发布时间】:2016-09-10 08:33:18
【问题描述】:

我需要在我的网页中添加拖放功能。我正在尝试删除图像并将它们上传到我的数据库。 HTML

<form action="parser.php" id="file-up" class="dropzone">
    <input type="submit" value="Upload" id="file-up_btn"/>
</form>

JS

Dropzone.autoDiscover = false;

$('#file-up_btn').click(function(e){
    var myDropzone = new Dropzone("#myId", {
    autoQueue: false,
    url: "/parser.php",                        
});
    console.log("Uploading");
});

Dropzone 显示上传成功完成。但它没有显示php文件中的任何文件。

<?php

if(!empty($_FILES)){
    echo 'Inside';
    $temp = $_FILES['file']['tmp_name'];
    $dir_seperator = DIRECTORY_SEPARATOR;
    $folder = "uploads";

//$destination_path = dirname(__FILE_).$dir_seperator.$folder.$dir_seperator;
$destination_path = tempnam(sys_get_temp_dir(), 'Tux');
echo '<h1>Uploading section $destination_path</h1>';
$target_path = $destination_path.$_FILES['file']['name'];
move_uploaded_file($temp,$target_path);
echo 'Updated';
}else{
    echo '<h1>No files</h1>';
}

?>

它总是返回 No files。我是 DropZone 的新手。请帮助我。提前致谢。 :)

【问题讨论】:

  • 您是否尝试过在表单中​​添加enctype="multipart/form-data"
  • 我没有。我会试试的。
  • 试过了。它不起作用
  • 文件数据是否在你的请求中通过?
  • 试试。 if(isset($_FILES['file']))

标签: javascript php dropzone.js


【解决方案1】:

二思查:

  • id 不一样。 在 js 中:“#myId” 在 html 中:#file-up 或 #file-up_btn html 中没有 myid 可以引用,所以不会将 img 添加到表单中。

  • 来自逻辑行为: empty($_FILES) 在没有文件传输时为真 !empty($_FILES) 是假的,因为 !。所以没有附加文件。 检查开发者工具->网络并检查保留日志。检查发送了哪些标头和哪些数据(可能什么都没有发送等,当您可以告知是否将文件添加到表单数据中时,它是成功的一半)。

显示我们都需要帮助的屏幕截图:developer tools

【讨论】:

    猜你喜欢
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多