Я установил простой dropzone.js, следуя инструкциям на сайте dropzon: StarTutorial. Она правильно отображает зону сброса, и когда я помещаю в нее файлы, она появляется, но когда я пытаюсь нажать кнопку загрузки, ничего не происходит.
Я использую этот 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);
}
?>
У меня была такая же проблема некоторое время назад. Это связано с индексацией. Dropzone загружает несколько файлов одновременно. Таким образом, имя файла находится в массиве. Прочитайте файл, используя ключ с foreach или forloop. Я использовал это в 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
}
}
Пожалуйста, попробуйте добавить в форму кнопку отправки, метод и энктип.
<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 на стороне сервера.
Я надеюсь, что это будет полезно для вас ..