Rumah >hujung hadapan web >html tutorial >Terminal mudah alih HTML5 merealisasikan muat naik fail_HTML/Xhtml_Pengeluaran halaman web

Terminal mudah alih HTML5 merealisasikan muat naik fail_HTML/Xhtml_Pengeluaran halaman web

WBOY
WBOYasal
2016-05-16 16:36:061376semak imbas

Kebanyakan fail yang dimuat naik pada bahagian PC menggunakan pemalam Tidak mengapa jika anda memperkenalkan flash Namun, jika bahagian mudah alih masih menggunakan pelbagai pemalam berlebihan, ia mungkin akan disembur sehingga mati untuk mempunyai fungsi memuat naik imej, memandangkan H5 sudah mempunyai antara muka yang berkaitan Dan keserasian adalah baik, sudah tentu keutamaan diberikan kepada penggunaan H5 untuk pelaksanaan.

Teknologi utama yang digunakan ialah:

ajax

Pembaca Fail

FormData

Struktur HTML:

Kod XML/HTMLSalin kandungan ke papan keratan
  1. <div kelas="kawasan kamera"> 
  2.  <bentuk enctype="multipart/ form-data" kaedah="post">
  3.  <input taip="fail" nama="failUntukMuat Naik" kelas="fileToUpload" terima="imej/*" tangkap="kamera"/>
  4.  <div kelas="muat naik- kemajuan"><span>span>div>
  5. borang>
  6.  <div kelas="ibu jari" >div>
  7. div>

Muat naik.js yang dibungkus bergantung pada zepto

Kod JavaScriptSalin kandungan ke papan keratan
  1. (fungsi($) {   
  2.   $.extend($.fn, {   
  3.     Muat naik fail: fungsi(pilihan) {   
  4.       ini.setiap(fungsi() {   
  5.         var $self = $(ini);   
  6.         var doms = {   
  7.           "fileToUpload": $self.find(".fileToUpload"),   
  8. >
  9.           "ibu jari": $self.find(".ibu jari"),   
  10.           "kemajuan": $self.find(".upload-progress")    🎜>
  11.         };   
  12.         var keseronokan = {   
  13.            //选择文件,获取文件大小,也可以在这里获取文开件,取文廏非要求格式的文件   
  14.           "fail Dipilih"fungsi() {   
  15.             var fail = (doms.fileToUpload)[0].files;   
  16.             var count = files.length;   
  17.             untuk (var indeks = 0; indeks < kiraan; < indeks ) {  > 
  18.               
  19. var fail = fail[indeks];   
  20.               
  21. var Saiz fail = 0;   
  22.               
  23. jika (saiz.fail > 1024 * 1024)   
  24.                 Saiz fail = (Math.round(file.size * 100 / (1024 * 1024)) / 100).toString()   
  25. 'MB''MB''MB'   
  26.               lain  
  27.                 Saiz fail = (Math.round(file.size * 100 / 1024) / 100).toString()   'KB'   
  28.             }
  29. funs.uploadFile();
  30. },
  31.  //Muat naik fail secara tidak segerak
  32. muat naikFail: fungsi() {
  33.  var fd = baharu FormData();//Buat objek data borang
  34. var fail = (doms.fileToUpload)[0].fail
  35. var kiraan = fail.panjang
  36.  untuk (var indeks = 0; indeks < kiraan; indeks ) {
  37. var fail = fail[indeks];
  38. fd.append(opts.file, fail);//Tambahkan fail pada data borang
  39. funs.previewImage(file);//Preview imej sebelum memuat naik, atau pratonton txt melalui kaedah lain
  40.                                                            
  41. var xhr = baharu XMLHttpRequest(
  42. xhr.upload.addEventListener(
  43. "kemajuan", funs.uploadProgress, false); // Pantau kemajuan muat naik
  44. xhr.addEventListener(
  45. "muat", funs.uploadComplete, false);
  46. xhr.addEventListener(
  47. "error", opts.uploadFailed, false);
  48. xhr.open(
  49. "POST", opts.url;
  50. xhr.send(fd);
  51. },
  52. //Pratonton fail
  53. pratontonImej: fungsi(fail) {
  54. var galeri = doms.thumb
  55. var img = document.createElement("img");
  56. img.file = fail;
  57. doms.thumb.html(img);
  58.  
  59. //Gunakan kaedah FileReader untuk memaparkan kandungan imej
  60. var
  61. pembaca = baharu FileReader( reader.onload = (
  62. fungsi
  63. (aImg) {
  64. kembali
  65. fungsi(e) { aImg.src = e.target.hasil;
  66.                                            
  67. })(img);
  68. pembaca.readAsDataURL(fail);
  69. },
  70. uploadProgress:
  71. fungsi
  72. (evt) {
  73. jika (evt.lengthComputable) {
  74. var peratusLengkap = Math.round(evt.loaded * 100 / evt.total);
  75. doms.progress.html(percentComplete.toString()
  76. '%'
  77.                                                            
  78. },
  79. "muat naik Selesai"
  80. :
  81. fungsi
  82. (evt) {
  83. makluman(evt.target.responseText)                                                          };
  84. doms.fileToUpload.on("ubah", fungsi() {
  85. doms.progress.find("span").lebar("0"); >
  86. funs.fileSelected();
  87. });
  88. });
  89. }
  90. });
  91. })(Zepto);
Kaedah panggilan:

Kod JavaScript
Salin kandungan ke papan keratan
    $(
  1. ".kawasan-kamera").failMuat Naik({  
  2. "url": "savetofile.php"  
  3. "fail": "Fail saya" });
Bahagian PHP:


Kod PHP
Salin kandungan ke papan keratan
  1. jika (isset($_FILES['myFile'])) {
  2. // Contoh: tulisLog(
  3. $_FAIL); move_uploaded_file(
  4. $_FILES['myFile']['tmp_name'], "muat naik/" $_FILES['myFile'<🎜. >]['nama']); gema
  5. 'berjaya'; }
  6. fungsi
  7. writeLog(
  8. $log
  9. ){  jika(
  10. adalah_array
  11. ($log) | |. ialah_objek($log)){ $log = json_encode(
  12. $log
  13. ); }  
  14. $log
  15. =
  16. $log
  17. ."rn";  
  18. file_put_kandungan
  19. (
  20. 'log.log'
  21. , $log,FILE_APPEND); } ?>
  22. Di atas adalah keseluruhan kandungan artikel ini, saya harap ia akan membantu kajian semua orang.

    Teks asal: http://www.cnblogs.com/hutuzhu/p/5254532.html

Kenyataan:
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