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 Tutorialfile_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"; } ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |