2016-04-15 7 views
0

В настоящее время я использую the structured folder uploader from "nuhil", чтобы сделать возможным создание папок/полных структур папок с помощью dropzone.js.Dropzone.js - загрузка структур папок и отдельных файлов

Загрузка папок работает отлично, независимо от того, сколько папок в папке и т. Д. Но когда я пытаюсь загрузить один файл, он вообще не работает.

Вот код, который я использовал для загрузки:

<?php 

session_start(); 

$ds = DIRECTORY_SEPARATOR; 
$storeFolder = '../uploads/'.$_SESSION['userid'].'/'; 

if (!is_dir($storeFolder)) { 
    mkdir($storeFolder); 
} 

if (!empty($_FILES)) { 

    $tempFile = $_FILES['file']['tmp_name']; 

    $targetPath = dirname(__FILE__) . $ds . $storeFolder . $ds; 

    $fullPath = $storeFolder.rtrim($_POST['path'], "/."); 
    $folder = substr($fullPath, 0, strrpos($fullPath, "/")); 

    if (!is_dir($folder)) { 
     $old = umask(0); 
     mkdir($folder, 0777, true); 
     umask($old); 
    } 

    if (move_uploaded_file($tempFile, $fullPath)) { 
     die(); 
    } else { 
     die('e'); 
    } 
} 
?> 

Я думаю, что я знаю, в чем проблема, так как файл я пытаюсь загрузить всегда называется undefined и не открываемое, кажется, что это также пытается создать папку для одного файла, но, поскольку ее нет, она просто пытается создать одно значение без значения (см. строку mkdir($folder, 0777, true);). Поэтому я знаю, в чем проблема, но у меня нет идеи, как заставить ее работать. Кто-нибудь есть идея, что делать, что одни файлы работают?

+0

Никто не имеет идею? – user5638730

+0

Не знаю никого? – user5638730

+0

Я ищу такой же ответ Пока что я ничего не нашел –

ответ

0

Потому что, когда вы пытаетесь загрузить отдельный файл, «file.fullPath» не определен, вы можете попробовать file.name, а затем проверить неопределенный.

this.on("sending", function(file) { 
 
     var name = file.fullPath; 
 
     if (typeof (file.fullPath) === "undefined") { 
 
      name = file.name; 
 
     } 
 
$("#tmp-path").html('<input type="hidden" name="path" value="'+name+'" />') 
 
});