如何解决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 />\";
?>
解决方法
看看http://aquantum-demo.appspot.com/file-upload
直接编写JavaScript不再是一个好主意。使用该页面上显示的库,您可以创建功能更强大的文件上载,该文件上载支持多个文件,可恢复的下载,进度栏以及许多您确实需要实现的功能,但它们可以为用户提供更好的体验。
,我不确定。但是在表单标签上您没有指定方法
,您可以使用file_get_contents(\'php:// input \')来获取文件内容。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。