2015-02-08 99 views
1

我通過在0123zon網站上按照StarTutorial的教程設置了一個簡單的dropzone.js。它正確顯示了dropzone,當我將文件放入它時,會顯示,但是當我嘗試點擊上傳按鈕時,什麼也沒有發生。 我使用這個網站碼:dropzone.js無法上傳

<!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); 
} 
?> 

回答

0
  1. 任何JS錯誤顯示在控制檯?
  2. 您是否嘗試過調試PHP鱈魚? 「上傳」文件夾是否可寫?
0

請嘗試添加提交按鈕,方法和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 dousn't上傳任何文件到你的服務器,你需要使用PHP文件提交到服務器或服務器端JavaScript ..

我希望這將有助於你..

2

我有同樣的問題,前一陣子。這是由於索引。 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  
    } 
}