HTML5 PHP AJAX上传:PHP不工作

HTML5 PHP AJAX上传:PHP不工作,php,ajax,html,upload,Php,Ajax,Html,Upload,我正在尝试编写自己的php上传程序,这样我就可以学习和理解它是如何工作的。尝试不使用任何库/插件/API。所以基本上我有javascript的东西做它应该做的(我希望…)。现在我被困在PHP上了。我想上传并保存为img/1.png。(不使用任何变量只是为了测试它…)。这是我的脚本。保持它非常简单,没有任何错误检查,只是为了让基本的上传工作。这适用于多个文件吗?是否有人可以指导我的PHP文件应该是什么样子,只是为了非常基本的(多)文件上传?谢谢 相册_create.js $(document).r

我正在尝试编写自己的php上传程序,这样我就可以学习和理解它是如何工作的。尝试不使用任何库/插件/API。所以基本上我有javascript的东西做它应该做的(我希望…)。现在我被困在PHP上了。我想上传并保存为img/1.png。(不使用任何变量只是为了测试它…)。这是我的脚本。保持它非常简单,没有任何错误检查,只是为了让基本的上传工作。这适用于多个文件吗?是否有人可以指导我的PHP文件应该是什么样子,只是为了非常基本的(多)文件上传?谢谢

相册_create.js

$(document).ready(function() {
  $('#album_create').submit(function() {
    var file = document.getElementById('album-files').files[0]; //Files[0] = 1st file
    var reader = new FileReader();

    reader.onload = function(f) {shipOff(f);};
    reader.onerror = function(event) {
      console.error("File could not be read! Code " + event.target.error.code);
    };
    reader.readAsText(file, 'UTF-8');
    return false;
  });
});


function shipOff(event) {
  var result = event.target.result;
  var fileName = document.getElementById('album-files').files[0].name; //Should be 'picture.jpg'
  console.log(fileName);
  $.post('ajax/album_create.php', { data: result, name: fileName }, function(data){console.log(data);});
  return false;
}
ajax/album_create.php

$data = $_POST['data'];

move_uploaded_file($data[0], 'img/1.png');
您正在发布:

data: result, name: fileName 
但是album_create.php期望:

    $data = $_POST['data'];
    $fileName = $_POST['fileName'];

$fileName=$\u POST['fileName']应该是:
$fileName=$\u POST['name']

抓得好。我把它改成了$_POST['name'],但它仍然不起作用。实际上,我并没有在任何地方使用$fileName。我是否在move\u上传的\u file函数中作为参数传递了错误的值?我尝试将$data和$data[0]作为第一个参数,但它们都不起作用。请使用Firebug控制台查看您发布的内容