2013-01-06 33 views
0

我想代码我自己的PHP上传,所以我可以学习和了解它是如何工作的。试图不使用任何库/插件/ API。所以基本上我有JavaScript的东西干什么它应该是(我希望..)。现在我被卡在PHP上了。我希望它上传并保存为img/1.png。 (不使用任何变量来测试它...)。这是我的脚本。保持它非常简单,没有任何错误检查,只是为了获得基本的上传工作。这将工作多个文件?可能有人指导我的PHP文件应该看起来像是非常基本的(多)文件上传?谢谢!HTML5 PHP AJAX上传:PHP不工作

album_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'); 

回答

1

你要留言:

data: result, name: fileName 

但album_create.php期待:

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

$fileName = $_POST['fileName'];应该是:$fileName = $_POST['name'];

+0

好抓。我将其更改为$ _POST ['name'],但它仍然无效。我实际上并没有在任何地方使用$ fileName。我是否在move_uploaded_file函数中传递了不正确的值作为参数?我尝试了$ data和$ data [0]作为第一个参数,但它们都不起作用。 – user1952509

+0

使用Firebug控制台准确查看您发布的内容 – InTry