我覺得完全是出於我的深度,但我感覺如此接近..AJAX - 上傳文件(HTML 5)和PHP
我試圖上傳使用AJAX的文件。我發現這個教程http://blog.new-bamboo.co.uk/2010/7/30/html5-powered-ajax-file-uploads,它似乎很好,直到最後。我似乎無法訪問PHP中的文件,即使用$ _FILES [「foo」] [「name」]; 我不確定如何使用其他技術上傳。
我不是在尋找的代碼是完美的,只是保持簡單,所以我能夠理解這是怎麼回事。在此先感謝:-)
這裏是我的服務器端代碼:
HTML: 頁面標題
</head>
<body>
<form onsubmit='showUser(); return false;' enctype='multipart/form-data'>
<input id='the-file' name='file' type='file' />
<input type='submit'>
</form>
<br />
<div id='txtHint'><b></b></div>
</body>
的Javascript:
function showUser(str)
{
var fileInput = document.getElementById('the-file');
var file = fileInput.files[0];
var foo = file.fileName;
if (str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","new_film_pro.php",true);
xmlhttp.setRequestHeader("Content-type", "multipart/form-data");
xmlhttp.setRequestHeader("X-File-Type", file.type);
xmlhttp.setRequestHeader("X-File-Name", foo);
xmlhttp.send(file);
}
PHP:
<?php
$postdata = file_get_contents("php://input");
echo "Name: " . $_SERVER['HTTP_X_FILE_NAME'] . "<br />";
?>
您是否嘗試過使用的var_dump($ _ FILES)? – 2011-04-14 06:22:09
對不起,我之前沒有看到評論 - 我得到的結果是數組(0){} – Sheldon 2011-04-14 09:38:42