我按照StarTutorial在dropzon网站上的教程设置了一个简单的dropzone.js。它正确地显示dropzone,当我将文件放入其中时,它会显示出来,但当我尝试单击upload按钮时,什么也没有发生。我使用的是这个html代码:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<link href="css/style.css" type="text/css" rel="stylesheet"/>
<script src="js/dropzone.js"></script>
</head>
<body>
<div id="main">
<form action="upload.php" class="dropzone" id="zone"></form>
</div>
</body>
下面是PHP代码:
<?php
$ds = DIRECTORY_SEPARATOR;
$storeFolder = 'uploads';
if (!empty($_FILES)) {
$tempFile = $_FILES['file']['tmp_name'];
$targetPath = dirname( __FILE__ ) . $ds. $storeFolder . $ds;
$targetFile = $targetPath. $_FILES['file']['name'];
move_uploaded_file($tempFile,$targetFile);
}
?>发布于 2015-05-21 14:29:57
不久前我也遇到过同样的问题。这是由于索引。Dropzone同时上传多个文件。因此,文件名在数组中。使用带有foreach或forloop的key读取文件。我在CodeIgniter中使用了以下代码:
foreach ($_FILES["file"]["error"] as $key => $error) {
if ( $error == UPLOAD_ERR_OK ) {
$tempFile = $_FILES['file']['tmp_name'][$key];
$name = $_FILES["file"]["name"][$key];
$file_extension = end((explode(".", $name))); # extra () to prevent notice
$targetPath = FCPATH . $storeFolder . $ds; //4
$file_new_name = uniqid(). '.'. $file_extension;
$targetFile = $targetPath. $file_new_name ; //5
move_uploaded_file($tempFile,$targetFile); //6
}
} 发布于 2015-02-09 07:31:47
发布于 2015-05-06 22:42:52
请尝试在表单中添加提交按钮、方法和enctype。
<form action="upload.php" class="dropzone" id="zone" method="post" enctype="multipart/form-data"> <input type="submit" name="submit" id="submit" /><!-- Submit button --> </form>
您的dropzonejs表单显示了您只想上传的图片或文件,但dropzonejs不会将任何文件上传到您的服务器,您需要使用php或服务器端javascript将文件提交到您的服务器。
我希望这能对你有所帮助。
https://stackoverflow.com/questions/28397596
复制相似问题