2016-04-15 15 views
0

私は現在、でフォルダ/完全なフォルダ構造のアップロードを可能にするためにthe structured folder uploader from "nuhil"を使用しています。Dropzone.js - フォルダ構造と単一のファイルをアップロードする

フォルダのアップロードは、フォルダ内にいくつのフォルダがあるかに関係なく、うまく機能しています。しかし、1つのファイルをアップロードしようとすると、全く機能しません。ここで

は私がアップロードするために使用されるコードです:私はまた私がアップロードしようとするファイルは常にundefinedと呼ばれ、開放可能ではありませんような問題は、何であるか知っていると思う

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

、それはそれのように思えます1つのファイルのフォルダも作成しようとしますが、ファイルが存在しないため、値のないファイルを作成しようとします(mkdir($folder, 0777, true);参照)。だから私は問題が何であるか知っていますが、私はそれを働かせる方法がありません。誰もがアイデアを持っていますか、何をすればいいのですか?単一のファイルも同様に動作していますか?

+0

誰のアイデアを持っていませんか? – user5638730

+0

誰も考えていない? – user5638730

+0

私は今まで同じ答えを探しています。何も見つかりませんでした –

答えて

0

1つのファイルをアップロードしようとすると「file.fullPath」が未定義であるため、file.nameを試してからundefinedをチェックすることができます。

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+'" />') 
 
});

関連する問題