[导读] 本文章介绍了关于在html5中实现文件上传的功能介绍,有需要的同学可以参考一下下哈。 界面样式我是参考了一个国外的相册网站,改动不大,只是把鸟语转换成中文,以及上传时的样式也进行了改动,之所以选这个
本文章介绍了关于在html5中实现文件上传的功能介绍,有需要的同学可以参考一下下哈。
界面样式我是参考了一个国外的相册网站,改动不大,只是把鸟语转换成中文,以及上传时的样式也进行了改动,之所以选这个的原因就是,我很容易做扩展,它支持3种方式添加图片,一种拖拽上传,一种常规的选择文件上传,另外的就是添加网络图片。它很巧妙的把三种上传模式整合到了一起,而且你可以用IE浏览器浏览下,如果不支持HTML5,是没有拖拽上传图片的提示的,如图:
拖拽上传最重要的就是js部分的代码,它实现了70%的功能,另外30%仅仅是把图片信息提交到后台,然后做对应的处理,比如压缩啊,裁剪啊云云。所以先来看下js实现代码吧。
代码如下 | 复制代码 |
<script><br>$().ready(function(){<br> if($.browser.safari || $.browser.mozilla){<br> $('#dtb-msg1 .compatible').show();<br> $('#dtb-msg1 .notcompatible').hide();<br> $('#drop_zone_home').hover(function(){<br> $(this).children('p').stop().animate({top:'0px'},200);<br> },function(){<br> $(this).children('p').stop().animate({top:'-44px'},200);<br> });<br> //功能实现<br> $(document).on({<br> dragleave:function(e){<br> e.preventDefault();<br> $('.dashboard_target_box').removeClass('over');<br> },<br> drop:function(e){<br> e.preventDefault();<br> //$('.dashboard_target_box').removeClass('over');<br> },<br> dragenter:function(e){<br> e.preventDefault();<br> $('.dashboard_target_box').addClass('over');<br> },<br> dragover:function(e){<br> e.preventDefault();<br> $('.dashboard_target_box').addClass('over');<br> }<br> });<br> var box = document.getElementById('target_box');<br> box.addEventListener("drop",function(e){<br> e.preventDefault();<br> //获取文件列表<br> var fileList = e.dataTransfer.files;<br> var img = document.createElement('img');<br> //检测是否是拖拽文件到页面的操作<br> if(fileList.length == 0){<br> $('.dashboard_target_box').removeClass('over');<br> return;<br> }<br> //检测文件是不是图片<br> if(fileList[0].type.indexOf('image') === -1){<br> $('.dashboard_target_box').removeClass('over');<br> return;<br> }<br> <br> if($.browser.safari){<br> //Chrome8+<br> img.src = window.webkitURL.createObjectURL(fileList[0]);<br> }else if($.browser.mozilla){<br> //FF4+<br> img.src = window.URL.createObjectURL(fileList[0]);<br> }else{<br> //实例化file reader对象<br> var reader = new FileReader();<br> reader.onload = function(e){<br> img.src = this.result;<br> $(document.body).appendChild(img);<br> }<br> reader.readAsDataURL(fileList[0]);<br> }<br> var xhr = new XMLHttpRequest();<br> xhr.open("post", "test.php", true);<br> xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");<br> xhr.upload.addEventListener("progress", function(e){<br> $("#dtb-msg3").hide();<br> $("#dtb-msg4 span").show();<br> $("#dtb-msg4").children('span').eq(1).css({width:'0px'});<br> $('.show').html('');<br> if(e.lengthComputable){<br> var loaded = Math.ceil((e.loaded / e.total) * 100);<br> $("#dtb-msg4").children('span').eq(1).css({width:(loaded*2)+'px'});<br> }<br> }, false);<br> xhr.addEventListener("load", function(e){<br> $('.dashboard_target_box').removeClass('over');<br> $("#dtb-msg3").show();<br> $("#dtb-msg4 span").hide();<br> var result = jQuery.parseJSON(e.target.responseText);<br> alert(result.filename);<br> $('.show').append(result.img);<br> }, false);<br> <br> var fd = new FormData();<br> fd.append('xfile', fileList[0]);<br> xhr.send(fd);<br> },false);<br> }else{<br> $('#dtb-msg1 .compatible').hide();<br> $('#dtb-msg1 .notcompatible').show();<br> }<br>});<br></script>
|
test.php文件
代码如下 | 复制代码 |
$r = new stdClass(); |
Atas ialah kandungan terperinci html5+php如何实现文件拖动上传功能. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Piawaian dan teknologi web telah berkembang dari HTML4, CSS2 dan JavaScript mudah setakat ini dan telah menjalani perkembangan yang ketara. 1) HTML5 memperkenalkan API seperti kanvas dan webstorage, yang meningkatkan kerumitan dan interaktiviti aplikasi web. 2) CSS3 menambah fungsi animasi dan peralihan untuk menjadikan halaman lebih berkesan. 3) JavaScript meningkatkan kecekapan pembangunan dan kebolehbacaan kod melalui sintaks moden node.js dan ES6, seperti fungsi anak panah dan kelas. Perubahan ini telah mempromosikan pembangunan pengoptimuman prestasi dan amalan terbaik aplikasi web.

H5 bukan sekadar singkatan HTML5, ia mewakili ekosistem teknologi pembangunan web moden yang lebih luas: 1. H5 termasuk HTML5, CSS3, JavaScript dan API dan Teknologi yang berkaitan; 2. Ia menyediakan pengalaman pengguna yang lebih kaya, interaktif dan lancar, dan boleh berjalan dengan lancar pada pelbagai peranti; 3. Menggunakan timbunan teknologi H5, anda boleh membuat laman web responsif dan fungsi interaktif yang kompleks.

H5 dan HTML5 merujuk kepada perkara yang sama, iaitu HTML5. HTML5 adalah versi kelima HTML, membawa ciri -ciri baru seperti tag semantik, sokongan multimedia, kanvas dan grafik, penyimpanan luar talian dan penyimpanan tempatan, meningkatkan ekspresi dan interaktiviti laman web.

H5referstohtml5, apivotaltechnologyinwebdevelopment.1) html5introducesnewelementsandapisforrich, dynamicwebapplications.2) itsupp ortsmultimediawithoutplugins, enhancusexperienceaceacrossdevices.3) SemantikelementsImproveContentstructureandseo.4) H5'srespo

Alat dan kerangka yang perlu dikuasai dalam pembangunan H5 termasuk Vue.js, React dan Webpack. 1.vue.js sesuai untuk membina antara muka pengguna dan menyokong pembangunan komponen. 2. Leact mengoptimumkan rendering halaman melalui DOM maya, sesuai untuk aplikasi yang kompleks. 3.WebPack digunakan untuk pembungkusan modul dan mengoptimumkan beban sumber.

Html5hassignificlylylectransformedwebdevelopmentbyintroducingsemanticelements, enhancingmultimediasupport, andimprovingperformance.1) itmadewebebsitesmoreaccessibleandseo-friendlywithSemhyViVeShive, dan

H5 meningkatkan kebolehaksesan laman web dan kesan SEO melalui unsur -unsur semantik dan atribut ARIA. 1. Gunakan, dan lain -lain untuk mengatur struktur kandungan dan meningkatkan SEO. 2. Atribut Aria seperti ARIA-Label meningkatkan kebolehcapaian, dan pengguna teknologi bantuan boleh menggunakan laman web dengan lancar.

"H5" dan "HTML5" adalah sama dalam kebanyakan kes, tetapi mereka mungkin mempunyai makna yang berbeza dalam senario tertentu tertentu. 1. "HTML5" adalah standard yang ditentukan oleh W3C yang mengandungi tag dan API baru. 2. "H5" biasanya merupakan singkatan HTML5, tetapi dalam pembangunan mudah alih, ia boleh merujuk kepada rangka kerja berdasarkan HTML5. Memahami perbezaan ini membantu menggunakan istilah ini dengan tepat dalam projek anda.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

Dreamweaver CS6
Alat pembangunan web visual

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini