界面样式我是参考了一个国外的相册网站,改动不大,只是把鸟语转换成中文,以及上传时的样式也进行了改动,之所以选这个的原因就是,我很容易做扩展,它支持3种方式添加图片,一种拖拽上传,一种常规的选">
cari
Rumahhujung hadapan webTutorial H5html5 seret dan lepas muat naik gambar contoh demonstration_html5 kemahiran tutorial

Oleh kerana tajuknya adalah mengenai contoh, saya tidak akan menerangkannya kali ini, kerana saya menggabungkan contoh ini dengan merujuk kepada kira-kira 5 atau 6 pemalam dan tunjuk cara yang dimuat naik seret dan lepas, dan kemudian meletakkan yang terbaik antaranya . Tempat itu dipilih, dan akhirnya ia menjadi contoh seperti itu Mari kita lihat bersama-sama (alamat tidak boleh dijamin untuk masa yang lama. Jika ia tidak sah, sila klik muat turun demo di penghujung. artikel itu):

Saya merujuk kepada gaya antara muka Laman web album foto asing tidak banyak mengubah lagu-lagu burung ke dalam bahasa Cina dan mengubah gaya ketika memuat naik memilih yang ini adalah bahawa ia adalah mudah bagi saya untuk mengembangkan ia menyokong 3 cara untuk menambah gambar Satu adalah seret dan lepas muat naik, satu pilihan biasa muat naik fail, dan satu lagi adalah untuk menambah gambar rangkaian. Ia bijak menyepadukan tiga mod muat naik, dan anda boleh menyemak imbasnya dengan pelayar IE Jika ia tidak menyokong HTML5, tiada gesaan untuk menyeret dan melepaskan untuk memuat naik imej, seperti yang ditunjukkan dalam gambar:

Bahagian paling penting dalam muat naik drag-and-drop ialah bahagian js kod, yang melaksanakan 70% daripada fungsi 30% yang lain hanyalah untuk menyerahkan maklumat imej ke latar belakang dan kemudian melakukan pemprosesan yang sepadan, seperti pemampatan , tanaman, dsb. Jadi mari kita lihat kod pelaksanaan js dahulu.

Salin kod
Kod tersebut adalah seperti berikut:

$().ready( function() {
if($.browser.safari || $.browser.mozilla){
$('#dtb-msg1 .compatible').show(
$('#dtb -msg1 . tidak serasi').hide();
$('#drop_zone_home').hover(function(){
$(this).children('p').stop().animate({ atas:' 0px'},200);
},function(){
$(this).children('p').stop().animate({top:'-44px'},200 );
});
//Pelaksanaan fungsi
$(document).on({
dragleave:function(e){
e.preventDefault();
$( '.dashboard_target_box ').removeClass('over');
},
drop:function(e){
e.preventDefault();//$('.dashboard_target_box'). removeClass(' over');
},
dragenter:function(e){
e.preventDefault();$('.dashboard_target_box').addClass('over'); 🎜>} ,
dragover:function(e){
e.preventDefault();
$('.dashboard_target_box').addClass('over'}
}) ;
var box = document.getElementById('target_box');
box.addEventListener("drop",function(e){
e.preventDefault();
//Dapatkan senarai fail
var fileList = e.dataTransfer.files;
var img = document.createElement('img'); .length == 0) {
$('.dashboard_target_box').removeClass('over');
kembali; (fileList[0].type. indexOf('html5 seret dan lepas muat naik gambar contoh demonstration_html5 kemahiran tutorial') === -1){
$('.dashboard_target_box').removeClass('over');
return; >if($.browser.safari ){
//Chrome8
img.src = window.webkitURL.createObjectURL(fileList[0]); 🎜>//FF4
img.src = window.URL.createObjectURL(fileList[0]); ;
reader.onload = function(e){
img.src = this.result;
$(document.body).appendChild(img)
readAsDataURL(); fileList[0]);
}
var xhr = new XMLHttpRequest();
xhr.open("post", "test.php", true); -Requested-With", "XMLHttpRequest ");
xhr.upload.addEventListener("progress", function(e){
$("#dtb-msg3").hide();
$ ("#dtb-msg4 span" ).show();
$("#dtb-msg4").kanak-kanak('span').eq(1).css({width:'0px'});
$('.show ').html('');
if(e.lengthComputable){
var dimuatkan = Math.ceil((e.loaded / e.total) * 100);
$("#dtb -msg4").kanak-kanak('span').eq(1).css({lebar:(dimuatkan*2) 'px'}); false);
xhr. addEventListener("load", function(e){
$('.dashboard_target_box').removeClass('over');
$("#dtb-msg3"). show();
$ ("#dtb-msg4 span").hide();
var result = jQuery.parseJSON(e.target.responseText); 🎜>$('.show' ).append(result.img);
}, false ; var fd = new FormData(); ]);
xhr ('#dtb-msg1 .notcompatible ').show();
}
});
Pada mulanya, saya mula-mula menentukan jenis penyemak imbas, kerana seperti yang dinyatakan sebentar tadi, pelayar yang berbeza melihat antara muka yang berbeza. Kod pelaksanaan utama bermula dari "Pelaksanaan Fungsi". Saya tidak akan menerangkan secara terperinci mengapa operasi ini dilakukan dengan cara ini dan apakah prinsipnya Anda boleh merujuk artikel ini: "Penjelasan terperinci tentang muat naik seret dan lepas pada Renren laman utama (HTML5 Drag&Drop , FileReader API, formdata)", tetapi kod untuk bahagian muat naik ajax masih agak berbeza, kerana yang Renren nampaknya agak menyusahkan, jadi saya mencari cara lain.
Bahagian terakhir ialah memuat naik kod PHP Di sini saya hanya menyediakan rujukan, anda boleh menulisnya sendiri mengikut keperluan projek.

Salin kod
Kod tersebut adalah seperti berikut:

$r = new stdClass( );
header('content-type: application/json');
$maxsize = 10; maxsize * 1048576 )){
$r->error = "Saiz imej tidak melebihi $maxsize MB"; ($folder)) {
mkdir($folder);
}
$folder .= $_POST['folder'] ? 🎜>if(! is_dir($folder)){
mkdir($folder);
}
if(preg_match('/html5 seret dan lepas muat naik gambar contoh demonstration_html5 kemahiran tutorial/i', $_FILES['xfile']['type' ])){
$nama fail = $_POST['nilai'] ? $_POST['nilai'] : $folder . '-' . $_FILES['xfile']['nama ']) . ' .jpg';
}lain{
$tld = split(',', $_FILES['xfile']['name']); count($tld) - 1];
$nama fail = $_POST['value'] ? $_POST['value'] : $folder . '-' . $_FILES['xfile ']['name ']) . $tld;
}
$types = Array('html5 seret dan lepas muat naik gambar contoh demonstration_html5 kemahiran tutorial/png', 'html5 seret dan lepas muat naik gambar contoh demonstration_html5 kemahiran tutorial/gif', 'html5 seret dan lepas muat naik gambar contoh demonstration_html5 kemahiran tutorial/jpeg'); $_FILES['xfile ']['type'], $types)){
$source = file_get_contents($_FILES["xfile"]["tmp_name"]); , $_POST[' lebar'], $_POST['tinggi'], $_POST['crop'], $_POST['kualiti']); "]["tmp_name "], $filename);
}
$path = str_replace('test.php', '', $_SERVER['SCRIPT_NAME']);
$r-> nama fail = $nama fail;
$r->path = $path;
$r->img = 'html5 seret dan lepas muat naik gambar contoh demonstration_html5 kemahiran tutorial';
echo json_encode($r);
function html5 seret dan lepas muat naik gambar contoh demonstration_html5 kemahiran tutorialresize($source, $destination, $width = 0, $height = 0, $crop = false, $quality = 80) {
$kualiti = $kualiti ? $kualiti : 80;
$imej = html5 seret dan lepas muat naik gambar contoh demonstration_html5 kemahiran tutorialcreatefromstring($source); );
$h = html5 seret dan lepas muat naik gambar contoh demonstration_html5 kemahiran tutorialsy($imej);
if (($width && $w > $width) || ($height && $h > $height)) {
$ratio = $w / $ h;
jika (($nisbah >= 1 || $tinggi == 0) && $lebar && !$crop) {
$tinggi_baru = $lebar / $nisbah; >$new_width = $ width;
} elseif ($crop && $nisbah $new_height = $width / $nisbah
$new_width = $width ;
} lain {
$lebar_baharu = $tinggi * $nisbah;
$tinggi_baru = $tinggi; $height_baru = $h ;
}
$x_mid = $new_width * .5; //tengah mendatar
$y_mid = $new_height * .5; //tengah menegak
// Sampel semula
error_log('height : ' . $new_height . ' - width: ' . $new_width
$new = html5 seret dan lepas muat naik gambar contoh demonstration_html5 kemahiran tutorialcreatetruecolor(bulat($new_width), round($new_height)); $imej, 0, 0, 0, 0, $new_width, $new_height, $w, $h);
// Tanaman
jika ($crop) {
$crop = html5 seret dan lepas muat naik gambar contoh demonstration_html5 kemahiran tutorialcreatetruecolor($width ? $width : $new_width , $height ? $height : $new_height ); tinggi, $width, $height);
//($y_mid - ($height * .5))
}
// Output
// Dayakan interlancing [untuk JPEG progresif]
html5 seret dan lepas muat naik gambar contoh demonstration_html5 kemahiran tutorialinterlace($crop ? $crop : $new, true);
$dext = strtolower(pathinfo($destination, PATHINFO_EXTENSION)); = $ext;
$destinasi .= '.' $ext; html5 seret dan lepas muat naik gambar contoh demonstration_html5 kemahiran tutorialjpeg($crop ? $crop : $new, $destination, $quality); pngQuality = bulat(abs ($pngQuality));
html5 seret dan lepas muat naik gambar contoh demonstration_html5 kemahiran tutorialpng($crop ? $crop : $new, $destination, $pngQuality); $crop ? $new, $destination);
}
@html5 seret dan lepas muat naik gambar contoh demonstration_html5 kemahiran tutorialdestroy($html5 seret dan lepas muat naik gambar contoh demonstration_html5 kemahiran tutorialdestroy($new); );
}
}


PHP akhirnya akan mengembalikan tatasusunan dalam format JSON Maklumat yang saya kembalikan ialah alamat imej, nama dan kod html img Akhirnya, tatasusunan json diperoleh dan diproses dalam js sudah berakhir.
Seperti yang dinyatakan pada permulaan artikel, terdapat juga muat naik fail klik untuk pilih dan imej rangkaian Memandangkan kedua-dua ini tidak termasuk dalam skop topik ini, saya tidak akan membincangkannya. Lebih-lebih lagi, kedua-dua fungsi ini tidak menyusahkan untuk dilaksanakan.
muat turun demo
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
Contoh Kod H5: Aplikasi Praktikal dan TutorialContoh Kod H5: Aplikasi Praktikal dan TutorialApr 25, 2025 am 12:10 AM

H5 menyediakan pelbagai ciri dan fungsi baru, sangat meningkatkan keupayaan pembangunan front-end. 1. Sokongan Multimedia: Media Media Melalui dan Elemen, Tiada Plug-Ins diperlukan. 2. Kanvas: Gunakan elemen untuk menjadikan grafik dan animasi 2D secara dinamik. 3. Penyimpanan Tempatan: Melaksanakan penyimpanan data berterusan melalui LocalStorage dan sessionStorage untuk meningkatkan pengalaman pengguna.

Sambungan antara H5 dan HTML5: Persamaan dan PerbezaanSambungan antara H5 dan HTML5: Persamaan dan PerbezaanApr 24, 2025 am 12:01 AM

H5 dan HTML5 adalah konsep yang berbeza: HTML5 adalah versi HTML, yang mengandungi unsur -unsur baru dan API; H5 adalah rangka kerja pembangunan aplikasi mudah alih berdasarkan HTML5. HTML5 Parses dan membuat kod melalui pelayar, manakala aplikasi H5 perlu menjalankan bekas dan berinteraksi dengan kod asli melalui JavaScript.

Blok bangunan kod H5: elemen utama dan tujuan merekaBlok bangunan kod H5: elemen utama dan tujuan merekaApr 23, 2025 am 12:09 AM

Unsur -unsur utama HTML5 termasuk ,,,,,, dan lain -lain, yang digunakan untuk membina laman web moden. 1. Tentukan kandungan kepala, 2.

HTML5 dan H5: Memahami Penggunaan BiasaHTML5 dan H5: Memahami Penggunaan BiasaApr 22, 2025 am 12:01 AM

Tidak ada perbezaan antara HTML5 dan H5, iaitu singkatan HTML5. 1.HTML5 adalah versi kelima HTML, yang meningkatkan fungsi multimedia dan interaktif laman web. 2.H5 sering digunakan untuk merujuk kepada laman web atau aplikasi mudah alih berasaskan HTML5, dan sesuai untuk pelbagai peranti mudah alih.

HTML5: Blok Bangunan Web Moden (H5)HTML5: Blok Bangunan Web Moden (H5)Apr 21, 2025 am 12:05 AM

HTML5 adalah versi terkini bahasa markup hiperteks, yang diseragamkan oleh W3C. HTML5 memperkenalkan tag semantik baru, sokongan multimedia dan peningkatan bentuk, meningkatkan struktur web, pengalaman pengguna dan kesan SEO. HTML5 memperkenalkan tag semantik baru, seperti,, dan lain -lain, untuk menjadikan struktur laman web lebih jelas dan kesan SEO lebih baik. HTML5 menyokong elemen multimedia dan tiada pemalam pihak ketiga diperlukan, meningkatkan pengalaman pengguna dan kelajuan memuatkan. HTML5 meningkatkan fungsi bentuk dan memperkenalkan jenis input baru seperti, dan lain -lain, yang meningkatkan pengalaman pengguna dan membentuk kecekapan pengesahan.

Kod H5: Menulis HTML5 Bersih dan CekapKod H5: Menulis HTML5 Bersih dan CekapApr 20, 2025 am 12:06 AM

Bagaimana cara menulis kod HTML5 yang bersih dan cekap? Jawapannya adalah untuk mengelakkan kesilapan biasa dengan tag semantik, kod berstruktur, pengoptimuman prestasi dan mengelakkan kesilapan biasa. 1. Gunakan tag semantik seperti, dan lain -lain untuk meningkatkan kebolehbacaan kod dan kesan SEO. 2. Pastikan kod berstruktur dan boleh dibaca, menggunakan lekukan dan komen yang sesuai. 3. Mengoptimumkan prestasi dengan mengurangkan tag yang tidak perlu, menggunakan CDN dan kod pemampatan. 4. Elakkan kesilapan biasa, seperti tag tidak ditutup, dan pastikan kesahihan kod.

H5: Bagaimana ia meningkatkan pengalaman pengguna di webH5: Bagaimana ia meningkatkan pengalaman pengguna di webApr 19, 2025 am 12:08 AM

H5 meningkatkan pengalaman pengguna web dengan sokongan multimedia, penyimpanan luar talian dan pengoptimuman prestasi. 1) Sokongan multimedia: H5 dan Elemen Memudahkan pembangunan dan meningkatkan pengalaman pengguna. 2) Penyimpanan Luar Talian: WebStorage dan IndexedDB membenarkan penggunaan luar talian untuk meningkatkan pengalaman. 3) Pengoptimuman Prestasi: Pekerja web dan elemen mengoptimumkan prestasi untuk mengurangkan penggunaan jalur lebar.

Dekonstruktur Kod H5: Tag, Elemen, dan AtributDekonstruktur Kod H5: Tag, Elemen, dan AtributApr 18, 2025 am 12:06 AM

Kod HTML5 terdiri daripada tag, elemen dan atribut: 1. Tag mentakrifkan jenis kandungan dan dikelilingi oleh kurungan sudut, seperti. 2. Unsur terdiri daripada tag permulaan, kandungan dan tag akhir, seperti kandungan. 3. Atribut menentukan pasangan nilai utama dalam tag permulaan, meningkatkan fungsi, seperti. Ini adalah unit asas untuk membina struktur web.

See all articles

Alat AI Hot

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.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

DVWA

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