FileDrop.js& PHP导致空$ _FILES

时间:2014-09-06 08:36:20

标签: php jquery html5 file-upload filedrop.js

JSFIDDLE

我使用filedrop.js在我的应用中创建文件存储库结构。上面提到的JSFIDDLE包含了这个小模块的所有Javascript / jQuery / HTML和CSS代码。虽然客户端上的所有内容似乎都正常运行(文件可以是DnD' d,进度条正常运行,控制台显示正确的事件触发器),但服务器端的结果始终为空$_FILES变量。我的PHP( ajax.receiveFile.php )如下:

var_dump($_FILES);
ob_start();
$callback = &$_REQUEST['fd-callback'];
$job_id = &$_REQUEST['job_id'];
$subdir = &$_REQUEST['subdir'];
$j = loadJob($job_id);
$save_path = "D:\\JobFiles\\" . $j->gOrderNumber() . "\\" . $subdir . "\\";
if ( ($_FILES['fd-file']['size'] > 0) && is_uploaded_file($_FILES['fd-file']['tmp_name']) ) {
  $name = $_FILES['fd-file']['name'];
  if (move_uploaded_file($_FILES['fd-file']['tmp_name'], $save_path.$name)) {
    $j->addAttachment($subdir,$name);
    echo 'true';
  } else {
    echo 'false';
  }
}
ob_end_flush();

FileDrop.js似乎正在做它应该做的事情,如下所示:

Console snap of form and input for file Console snap of files being processed via AJAX calls

我在{"文件"的多种输入类型上使用相同的元素name阅读here on SO可能会导致错误,但我不确定这是否是这种情况。我对TEMPTARGET上传文件夹的权限进行了双重和三重检查,我已确认所有PHP变量都是根据需要通过目视检查和PHPINFO()设置的。 IIS7上的服务器配置是PHP 5.4。

如果有人想知道还有什么想法,请提供帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

这对我有用:

file_put_contents('uploads/person/7.jpeg', fopen('php://input', 'r'));