Rumah pembangunan bahagian belakang tutorial php Bagaimana untuk mengoptimumkan pemampatan dan pemuatan imej dalam pembangunan PHP

Bagaimana untuk mengoptimumkan pemampatan dan pemuatan imej dalam pembangunan PHP

Oct 08, 2023 pm 06:18 PM
pembangunan php Pemampatan imej Pengoptimuman memuatkan

Bagaimana untuk mengoptimumkan pemampatan dan pemuatan imej dalam pembangunan PHP

Cara mengoptimumkan pemampatan imej dan pemuatan pengoptimuman dalam pembangunan PHP

Abstrak:
Dalam laman web, gambar membolehkan pengguna mendapatkan maklumat lanjut Elemen penting pengalaman intuitif dan menarik. Walau bagaimanapun, fail imej biasanya lebih besar dan lebih perlahan untuk dimuatkan, yang boleh menjejaskan prestasi tapak web dan pengalaman pengguna. Artikel ini akan memperkenalkan secara terperinci cara menggunakan pembangunan PHP untuk mengoptimumkan pemampatan dan pemuatan imej, dan memberikan contoh kod khusus.

Sila ambil perhatian: Kod yang digunakan dalam artikel ini perlu digunakan dengan konfigurasi persekitaran pelayan dan modul pengembangan Sila laraskan langkah operasi dan kaedah konfigurasi mengikut situasi sebenar anda.

  1. mampatan imej
    Mampatan imej ialah kaedah biasa untuk mengurangkan saiz fail imej. Berikut ialah contoh kod untuk pemampatan imej menggunakan PHP:
<?php
function compressImage($source, $destination, $quality) {
    $info = getimagesize($source);
    
    if ($info['mime'] == 'image/jpeg') {
        $image = imagecreatefromjpeg($source);
    } elseif ($info['mime'] == 'image/png') {
        $image = imagecreatefrompng($source);
    }
    
    imagejpeg($image, $destination, $quality);
    
    return $destination;
}

// 压缩图片
$sourceImage = 'path/to/source/image.jpg';
$destinationImage = 'path/to/destination/image.jpg';

$compressedImage = compressImage($sourceImage, $destinationImage, 80);
echo '压缩后的图片路径:' . $compressedImage;
?>
Salin selepas log masuk

Dalam kod di atas, fungsi compressImage digunakan untuk memampatkan imej. Fungsi ini menerima laluan imej sumber, laluan imej sasaran dan kualiti imej sebagai parameter. Bergantung pada format sebenar imej (JPEG atau PNG), gunakan fungsi imagecreatefromjpeg atau imagecreatefrompng untuk mencipta sumber imej dan kemudian gunakan imagejpeg</code > untuk menyimpan sumber imej ke sasaran dalam laluan. <code>compressImage函数来压缩图片。该函数接受源图片路径、目标图片路径和图片质量作为参数。根据图片的实际格式(JPEG或PNG),使用imagecreatefromjpegimagecreatefrompng函数创建图像资源,然后使用imagejpeg将图像资源保存到目标路径中。

  1. 图片加载优化
    除了通过压缩图片来减小文件大小,还可以通过以下方法来优化图片的加载速度。

2.1 响应式图片
当用户使用不同设备访问网站时,可以根据设备的屏幕尺寸自动加载适合的图片大小。以下是一个使用srcsetsizes属性来实现响应式图片的示例代码:

<img src="/static/imghw/default1.png"  data-src="path/to/image.jpg"  class="lazy"
     srcset="path/to/small/image.jpg 500w,
             path/to/medium/image.jpg 1000w,
             path/to/large/image.jpg 1500w"
     sizes="(max-width: 768px) 90vw,
            (max-width: 1200px) 70vw,
            50vw"
     alt="Responsive Image">
Salin selepas log masuk

上述代码中,srcset属性包含多个备选图片路径和它们的宽度(w)值。sizes属性指定了不同屏幕尺寸下的图片大小。浏览器会根据当前设备的屏幕宽度和sizes属性的定义来选择合适的图片进行加载。

2.2 图片懒加载
图片懒加载是指当用户滚动到可见的区域时,才加载图片。以下是一个使用Lazy Load插件来实现图片懒加载的示例代码:

<img class="lazy lazy"  src="/static/imghw/default1.png"  data-src="placeholder.jpg" 
     data-
     alt="Lazy Load Image">
Salin selepas log masuk
// 引入 Lazy Load 插件的 js 文件

document.addEventListener("DOMContentLoaded", function() {
    var lazyImages = [].slice.call(document.querySelectorAll("img.lazy"));

    if ("IntersectionObserver" in window) {
        let lazyImageObserver = new IntersectionObserver(function(entries, observer) {
            entries.forEach(function(entry) {
                if (entry.isIntersecting) {
                    let lazyImage = entry.target;
                    lazyImage.src = lazyImage.dataset.src;
                    lazyImage.classList.remove("lazy");
                    lazyImageObserver.unobserve(lazyImage);
                }
            });
        });

        lazyImages.forEach(function(lazyImage) {
            lazyImageObserver.observe(lazyImage);
        });
    }
});
Salin selepas log masuk

上述代码中,data-src属性指定了真实的图片路径,placeholder.jpg是一个占位图片。IntersectionObserver是一个新的浏览器API,用于检测元素是否进入视口。当图片进入视口时,通过设置src

    Pengoptimuman pemuatan imej

    Selain memampatkan imej untuk mengurangkan saiz fail, anda juga boleh mengoptimumkan kelajuan pemuatan imej melalui kaedah berikut.

    2.1 Imej responsif

    Apabila pengguna mengakses tapak web menggunakan peranti berbeza, saiz imej yang sesuai boleh dimuatkan secara automatik mengikut saiz skrin peranti. Berikut ialah contoh kod yang menggunakan atribut srcset dan sizes untuk melaksanakan imej responsif: #🎜🎜#rrreee#🎜🎜#Dalam kod di atas, srcset Atribut The code> mengandungi berbilang laluan imej alternatif dan nilai lebarnya (w). Atribut sizes menentukan saiz imej untuk saiz skrin yang berbeza. Penyemak imbas akan memilih imej yang sesuai untuk dimuatkan berdasarkan lebar skrin peranti semasa dan takrifan atribut saiz. #🎜🎜##🎜🎜#2.2 Malas memuatkan imej #🎜🎜# Malas memuatkan imej bermakna imej hanya dimuatkan apabila pengguna menatal ke kawasan yang boleh dilihat. Berikut ialah contoh kod yang menggunakan pemalam Lazy Load untuk melaksanakan pemuatan malas imej: #🎜🎜#rrreeerrreee#🎜🎜#Dalam kod di atas, data-src menentukan laluan imej yang benar, placeholder.jpg ialah imej pemegang tempat. IntersectionObserver ialah API penyemak imbas baharu untuk mengesan sama ada elemen memasuki ruang pandang. Apabila imej memasuki port pandangan, muatkan imej sebenar dengan menetapkan atribut src. #🎜🎜##🎜🎜#Kesimpulan: #🎜🎜# Dengan menggunakan kaedah di atas, kami boleh mengoptimumkan pemampatan dan pemuatan imej dalam pembangunan PHP, dengan itu meningkatkan prestasi dan pengalaman pengguna tapak web. Dengan memampatkan fail imej dan mengoptimumkan kaedah pemuatan, anda boleh mengurangkan saiz fail imej dengan ketara dan meningkatkan kelajuan pemuatan tapak web. Dalam pembangunan sebenar, kita boleh memilih kaedah yang sesuai mengikut keperluan untuk mencapai pemampatan imej dan pengoptimuman pemuatan. #🎜🎜##🎜🎜# (Nota: Kod sampel dalam artikel ini adalah untuk rujukan dan pembelajaran sahaja. Sila laraskan operasi khusus mengikut keperluan dan konfigurasi sebenar.) #🎜🎜#

Atas ialah kandungan terperinci Bagaimana untuk mengoptimumkan pemampatan dan pemuatan imej dalam pembangunan PHP. 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

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Ajar anda langkah demi langkah untuk membangunkan laman web forum anda sendiri menggunakan PHP Ajar anda langkah demi langkah untuk membangunkan laman web forum anda sendiri menggunakan PHP Oct 28, 2023 am 08:23 AM

Dengan perkembangan pesat Internet dan permintaan yang semakin meningkat untuk pertukaran maklumat, laman web forum telah menjadi platform sosial dalam talian yang biasa. Membangunkan laman web forum anda sendiri bukan sahaja dapat memenuhi keperluan peribadi anda sendiri, tetapi juga menyediakan platform untuk komunikasi dan perkongsian, yang memberi manfaat kepada lebih ramai orang. Artikel ini akan mengajar anda langkah demi langkah cara menggunakan PHP untuk membangunkan laman web forum anda sendiri. Saya harap ia akan membantu pemula. Pertama, kita perlu menjelaskan beberapa konsep asas dan persediaan. PHP (HypertextPreproces

Bagaimana untuk menggunakan Memcache dalam pembangunan PHP? Bagaimana untuk menggunakan Memcache dalam pembangunan PHP? Nov 07, 2023 pm 12:49 PM

Dalam pembangunan web, kita selalunya perlu menggunakan teknologi caching untuk meningkatkan prestasi tapak web dan kelajuan tindak balas. Memcache ialah teknologi caching popular yang boleh menyimpan sebarang jenis data dan menyokong konkurensi tinggi dan ketersediaan tinggi. Artikel ini akan memperkenalkan cara menggunakan Memcache dalam pembangunan PHP dan memberikan contoh kod khusus. 1. Pasang Memcache Untuk menggunakan Memcache, pertama sekali kita perlu memasang sambungan Memcache pada pelayan. Dalam sistem pengendalian CentOS, anda boleh menggunakan arahan berikut

Gunakan uniapp untuk melaksanakan fungsi pemampatan imej Gunakan uniapp untuk melaksanakan fungsi pemampatan imej Nov 21, 2023 pm 06:36 PM

Menggunakan uniapp untuk merealisasikan fungsi pemampatan imej Dengan penambahbaikan fungsi kamera telefon mudah alih, kami sering mengambil sejumlah besar foto dalam kehidupan seharian kami. Walau bagaimanapun, foto resolusi tinggi ini menggunakan ruang storan pada telefon anda, menjadikannya perlahan dan mudah diisi. Untuk menyelesaikan masalah ini, kami boleh menggunakan teknologi yang berkaitan dalam uniapp untuk melaksanakan fungsi pemampatan imej, memampatkan imej kepada saiz fail yang lebih kecil dan mengekalkan piksel dan kualiti imej yang sesuai. Di bawah ini kami akan memperkenalkan secara terperinci cara melaksanakan fungsi pemampatan imej dalam uniapp. Langkah 1: Perkenalkan yang berkaitan

Kemahiran pembangunan Java didedahkan: melaksanakan fungsi pemampatan dan pemangkasan imej Kemahiran pembangunan Java didedahkan: melaksanakan fungsi pemampatan dan pemangkasan imej Nov 20, 2023 pm 03:27 PM

Java ialah bahasa pengaturcaraan yang digunakan secara meluas dalam bidang pembangunan perisian yang kaya dengan perpustakaan dan fungsi yang berkuasa boleh digunakan untuk membangunkan pelbagai aplikasi. Pemampatan dan pemangkasan imej adalah keperluan biasa dalam pembangunan aplikasi web dan mudah alih. Dalam artikel ini, kami akan mendedahkan beberapa teknik pembangunan Java untuk membantu pembangun melaksanakan fungsi pemampatan dan pemangkasan imej. Mula-mula, mari kita bincangkan pelaksanaan pemampatan imej. Dalam aplikasi web, gambar selalunya perlu dihantar melalui rangkaian. Jika imej terlalu besar, ia akan mengambil masa yang lebih lama untuk memuatkan dan menggunakan lebih lebar jalur. Oleh itu, kami

Cara menggunakan PHP untuk membangunkan platform perkhidmatan tunjuk ajar dalam talian Cara menggunakan PHP untuk membangunkan platform perkhidmatan tunjuk ajar dalam talian Oct 28, 2023 am 09:01 AM

Cara menggunakan PHP untuk membangunkan platform perkhidmatan tunjuk ajar dalam talian Dengan perkembangan pesat Internet, platform perkhidmatan tunjuk ajar dalam talian telah menarik perhatian dan permintaan lebih ramai orang. Ibu bapa dan pelajar boleh mencari tutor yang sesuai dengan mudah melalui platform sedemikian, dan tutor juga boleh menunjukkan kebolehan dan kelebihan mengajar mereka dengan lebih baik. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan platform perkhidmatan tunjuk ajar dalam talian. Pertama, kita perlu menjelaskan keperluan fungsi platform. Platform perkhidmatan tunjuk ajar dalam talian perlu mempunyai fungsi asas berikut: Sistem pendaftaran dan log masuk: pengguna boleh

Huraikan prinsip -prinsip yang kukuh dan bagaimana ia memohon kepada pembangunan PHP. Huraikan prinsip -prinsip yang kukuh dan bagaimana ia memohon kepada pembangunan PHP. Apr 03, 2025 am 12:04 AM

Penerapan prinsip pepejal dalam pembangunan PHP termasuk: 1. Prinsip Tanggungjawab Tunggal (SRP): Setiap kelas bertanggungjawab untuk hanya satu fungsi. 2. Prinsip Terbuka dan Tutup (OCP): Perubahan dicapai melalui lanjutan dan bukannya pengubahsuaian. 3. Prinsip Penggantian Lisch (LSP): Subkelas boleh menggantikan kelas asas tanpa menjejaskan ketepatan program. 4. Prinsip Pengasingan Antara Muka (ISP): Gunakan antara muka halus untuk mengelakkan kebergantungan dan kaedah yang tidak digunakan. 5. Prinsip Inversi Ketergantungan (DIP): Modul peringkat tinggi dan rendah bergantung kepada abstraksi dan dilaksanakan melalui suntikan ketergantungan.

Bagaimana untuk melaksanakan kawalan versi dan kerjasama kod dalam pembangunan PHP? Bagaimana untuk melaksanakan kawalan versi dan kerjasama kod dalam pembangunan PHP? Nov 02, 2023 pm 01:35 PM

Bagaimana untuk melaksanakan kawalan versi dan kerjasama kod dalam pembangunan PHP? Dengan perkembangan pesat Internet dan industri perisian, kawalan versi dan kerjasama kod dalam pembangunan perisian telah menjadi semakin penting. Sama ada anda seorang pembangun bebas atau pasukan yang sedang membangun, anda memerlukan sistem kawalan versi yang berkesan untuk mengurus perubahan kod dan bekerjasama. Dalam pembangunan PHP, terdapat beberapa sistem kawalan versi yang biasa digunakan untuk dipilih, seperti Git dan SVN. Artikel ini akan memperkenalkan cara menggunakan alat ini untuk kawalan versi dan kerjasama kod dalam pembangunan PHP. Langkah pertama ialah memilih yang sesuai dengan anda

Bagaimana untuk menggunakan PHP untuk membangunkan fungsi kupon sistem pesanan? Bagaimana untuk menggunakan PHP untuk membangunkan fungsi kupon sistem pesanan? Nov 01, 2023 pm 04:41 PM

Bagaimana untuk menggunakan PHP untuk membangunkan fungsi kupon sistem pesanan? Dengan perkembangan pesat masyarakat moden, kadar hidup manusia semakin pantas dan semakin ramai orang memilih untuk makan di luar. Kemunculan sistem pesanan telah banyak meningkatkan kecekapan dan kemudahan pesanan pelanggan. Sebagai alat pemasaran untuk menarik pelanggan, fungsi kupon juga digunakan secara meluas dalam pelbagai sistem pesanan. Jadi bagaimana untuk menggunakan PHP untuk membangunkan fungsi kupon sistem pesanan? 1. Reka bentuk pangkalan data Pertama, kita perlu mereka bentuk pangkalan data untuk menyimpan data berkaitan kupon. Adalah disyorkan untuk membuat dua jadual: satu

See all articles