Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Dropzone.js-上载文件夹结构和单个文件_Javascript_Php_File Upload_Dropzone.js - Fatal编程技术网

Javascript Dropzone.js-上载文件夹结构和单个文件

Javascript Dropzone.js-上载文件夹结构和单个文件,javascript,php,file-upload,dropzone.js,Javascript,Php,File Upload,Dropzone.js,我目前正在使用dropzone.js,使文件夹/完整文件夹结构的上传成为可能 上传文件夹非常有效,无论文件夹中有多少文件夹,等等。但当我试图上传一个文件时,它根本不起作用 以下是我用来上传的代码: <?php session_start(); $ds = DIRECTORY_SEPARATOR; $storeFolder = '../uploads/'.$_SESSION['userid'].'/'; if (!is_dir($storeFolder)) { mkdir($s

我目前正在使用
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);
)。所以我知道问题是什么,但我不知道如何让它工作。有没有人知道,该怎么做,单个文件也可以正常工作?

因为当您尝试上载单个文件时,“file.fullPath”未定义,您可以通过选中未定义来尝试file.name

this.on(“发送”,函数(文件){
var name=file.fullPath;
if(typeof(file.fullPath)=“未定义”){
name=file.name;
}
$(“#tmp路径”).html(“”)

});因为当您尝试上载单个文件时,“file.fullPath”未定义,您可以通过选中未定义来尝试file.name

this.on(“发送”,函数(文件){
var name=file.fullPath;
if(typeof(file.fullPath)=“未定义”){
name=file.name;
}
$(“#tmp路径”).html(“”)

});我正在寻找相同的答案到目前为止我没有找到任何东西我正在寻找相同的答案我正在寻找相同的答案到目前为止我没有找到任何东西我正在寻找相同的答案