php 无刷新上传,php ajax无刷新文件上传实例

本实例有两个文件:

upload_form.html:

function _(el){

return document.getElementById(el);

}

function uploadFile(){

var file = _("file1").files[0];

// alert(file.name+" | "+file.size+" | "+file.type);

var formdata = new FormData();

formdata.append("file1", file);

var ajax = new XMLHttpRequest();

ajax.upload.addEventListener("progress", progressHandler, false);

ajax.addEventListener("load", completeHandler, false);

ajax.addEventListener("error", errorHandler, false);

ajax.addEventListener("abort", abortHandler, false);

ajax.open("POST", "file_upload_parser.php");

ajax.send(formdata);

}

function progressHandler(event){

_("loaded_n_total").innerHTML = "Uploaded "+event.loaded+" bytes of "+event.total;

var percent = (event.loaded / event.total) * 100;

_("progressBar").value = Math.round(percent);

_("status").innerHTML = Math.round(percent)+"% uploaded... please wait";

}

function completeHandler(event){

_("status").innerHTML = event.target.responseText;

_("progressBar").value = 0;

}

function errorHandler(event){

_("status").innerHTML = "Upload Failed";

}

function abortHandler(event){

_("status").innerHTML = "Upload Aborted";

}

HTML5 File Upload Progress Bar Tutorial

file_upload_parser.php:

$fileName = $_FILES["file1"]["name"]; // The file name

$fileTmpLoc = $_FILES["file1"]["tmp_name"]; // File in the PHP tmp folder

$fileType = $_FILES["file1"]["type"]; // The type of file it is

$fileSize = $_FILES["file1"]["size"]; // File size in bytes

$fileErrorMsg = $_FILES["file1"]["error"]; // 0 for false... and 1 for true

if (!$fileTmpLoc) { // if file not chosen

echo "ERROR: Please browse for a file before clicking the upload button.";

exit();

}

if(move_uploaded_file($fileTmpLoc, "test_uploads/$fileName")){

echo "$fileName upload is complete";

} else {

echo "move_uploaded_file function failed";

}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值