Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Excerpt

asdas


Code Block
languagejs
titleupload_form.html
<!DOCTYPE html>
<html>
<head>
<script>
/* Script written by Adam Khoury @ DevelopPHP.com */
/* Video Tutorial: http://www.youtube.com/watch?v=EraNFJiY0Eg */
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"); // http://www.developphp.com/video/JavaScript/File-Upload-Progress-Bar-Meter-Tutorial-Ajax-PHP
  //use file_upload_parser.php from above url
  
	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; //wil clear progress bar after successful upload
}

function errorHandler(event) {
  	_("status").innerHTML = "Upload Failed";
}

function abortHandler(event) {
  	_("status").innerHTML = "Upload Aborted";
}
</script>
</head>
<body>
<h2>HTML5 File Upload Progress Bar Tutorial</h2>
<form id="upload_form" enctype="multipart/form-data" method="post">
  <input type="file" name="file1" id="file1"><br>
  <input type="button" value="Upload File" onchangeonclick="uploadFile()"><br>>
  <progress id="progressBar" value="0" max="100" style="width:300px;"></progress>
  <h3 id="status"></h3>
  <p id="loaded_n_total"></p>
</form>
</body>
</html>


Code Block
languagephp
titlefile_upload_parser.php
<?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";
}
?>


You will be able to see its result like below when you run above code:

...