Rumah pembangunan bahagian belakang tutorial php php+ajax实现文件上传进度条效果示例代码

php+ajax实现文件上传进度条效果示例代码

Jul 23, 2017 am 11:00 AM
php php+ajax jadual

进度条即计算机在处理任务时,实时的,以图片形式显示处理任务的速度,完成度,剩余未完成任务量的大小,和可能需要处理时间,一般以长方形条状显示。这篇文章主要介绍了php ajax实现文件上传进度条的相关资料,需要的朋友可以参考下,本实例是关于php文件上传时进度条的实现,主要采用ajax技术,另外还运用了html5,有需要的朋友可以研究一下。

本实例有两个文件:

upload_form.html:

<!DOCTYPE html>
<html>
<head>
<script>
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";
}
</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" onclick="uploadFile()">
 <progress id="progressBar" value="0" max="100" style="width:300px;"></progress>
 <h3 id="status"></h3>
 <p id="loaded_n_total"></p>
</form>
</body>
</html>

file_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";
}
?>

Atas ialah kandungan terperinci php+ajax实现文件上传进度条效果示例代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT

Stock Market GPT

Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana cara memeriksa sama ada alamat e -mel sah dalam php? Bagaimana cara memeriksa sama ada alamat e -mel sah dalam php? Sep 21, 2025 am 04:07 AM

UseFilter_var () TOVALIDATEMailSyntaxandCheckDnsrr () TOVERIFYDOnMAINMXRECORDS.example: $ e -mel = "user@example.com"; if (filter_var ($ e -mel, filter_email) && checkDnsrr (expode '

Laman Web Rasmi Platform Kook Voice _ PC Portal Login Versi Pelanggan dan Web Laman Web Rasmi Platform Kook Voice _ PC Portal Login Versi Pelanggan dan Web Sep 20, 2025 am 11:30 AM

Laman web rasmi platform Kook Voice adalah https://www.kookapp.cn/, yang menyokong log masuk versi pelanggan PC, dan menyediakan liputan multi-terminal untuk Windows, Android dan iOS. Pengguna boleh memuat turun pelanggan atau mengaksesnya secara langsung melalui penyemak imbas.

Bagaimana membuat salinan atau klon objek yang mendalam dalam php? Bagaimana membuat salinan atau klon objek yang mendalam dalam php? Sep 21, 2025 am 12:30 AM

UseUnserialize (Serialize ($ obj)) fordeepcopyingWhenallDataisserizable; jika tidak, pelaksanaan__clone () tomanuallyduplicatenestedObjectsandavoidsharedReferences.

Bagaimana untuk menggabungkan dua tatasusunan dalam PHP? Bagaimana untuk menggabungkan dua tatasusunan dalam PHP? Sep 21, 2025 am 12:26 AM

UseArray_Merge () toCombineArrays, OverwritingDuplicateStringKeySandreIndexingNumericKeys; forsimplerconcatenation, terutamaInphp5.6, usethesplatoperator [... $ array1, ... $ array2].

Bagaimana cara menggunakan ruang nama dalam projek PHP? Bagaimana cara menggunakan ruang nama dalam projek PHP? Sep 21, 2025 am 01:28 AM

Namespacesinphporganizecodeandpreventnamingnamingconflictsbygroupinglasses, antara muka, fungsi, dan constantsunderaspecificname.2.defineAnamespaceusingthenamespaceywordetopofafile, diikuti olehbythenamespaceakenam

Bagaimana untuk memanggil pembina induk di PHP? Bagaimana untuk memanggil pembina induk di PHP? Sep 21, 2025 am 03:43 AM

Apabila extendendingaclassinphp, callParent :: __ Membina () toensuretheparent'sinitialializationlogicruns.1.iftheparentclassconstructorsetsupessentialproperties, skippingthiscallmayresultinincompleteobjectinitialization.2.useparent

Bagaimana untuk mengemas kini rekod dalam pangkalan data dengan PHP? Bagaimana untuk mengemas kini rekod dalam pangkalan data dengan PHP? Sep 21, 2025 am 04:47 AM

Toupdateadatabaserecordinphp, firstConnectusingPdoormySqli, thenusePePreparedStatementStoExecuteAseCureSqlupDateQuery.example: $ pdo = newpdo ("mysql: host = localhost; dbName = your_database: $ userbase: $ userbase"

Bagaimana cara memeriksa keizinan fail dalam php? Bagaimana cara memeriksa keizinan fail dalam php? Sep 22, 2025 am 06:27 AM

UseFilePerms () toGetFilepermissionseSasanIntegerandFormatTiTusingsPrintf ('%o') todisplayUnix-stylepermissionsLike0644.forpracticalAccessChecks, useis_readable (), is_wrtable (), oris_executable () whouldrueiftescrueifescrueiftescrueiftescrueiftescrueifes.

See all articles