Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah saya boleh memaparkan imej daripada data binari dalam satu skrip tanpa menyimpannya ke cakera?

Bagaimanakah saya boleh memaparkan imej daripada data binari dalam satu skrip tanpa menyimpannya ke cakera?

Patricia Arquette
Patricia Arquetteasal
2024-11-08 06:37:021061semak imbas

How can I display an image from binary data in a single script without saving it to disk?

Mencipta dan Memaparkan Imej daripada Data Binari dalam Skrip Tunggal

Banyak aplikasi memerlukan keupayaan untuk memproses imej daripada data binari dan memaparkannya tanpa storan perantaraan pada cakera. Artikel ini meneroka cara untuk mencapai fungsi ini menggunakan URI data.

URI Data

URI data menyediakan cara untuk membenamkan data binari terus ke dalam HTML atau CSS. Ia terdiri daripada tiga bahagian:

  • Jenis MIME: Mengenal pasti jenis data (cth., "imej/png").
  • Pengekodan Pilihan : Menentukan pengekodan aksara data (cth., "base64").
  • Data: Data binari dikodkan sebagai rentetan.

Menggunakan URI Data untuk Imej

Untuk membenamkan imej sebagai URI data, format berikut ialah digunakan:

data:[<MIME-type>][;charset="<encoding>"][;base64],<data>

Sebagai contoh, untuk membenamkan imej PNG sebagai URI data menggunakan pengekodan base64:

data:image/png;base64,<encoded-data>

Contoh Kod

Fungsi PHP berikut mencipta URI data daripada fail imej binari:

function data_uri($file, $mime) 
{
  $contents = file_get_contents($file);
  $base64   = base64_encode($contents); 
  return ('data:' . $mime . ';base64,' . $base64);
}

Untuk memaparkan imej daripada data binari, anda hanya boleh menggunakan URI data sebagai atribut src HTML elemen:

echo "<img src='" . data_uri('image.png', 'image/png') . "' alt='My Image' />";

Kelebihan URI Data

Menggunakan URI data untuk imej menawarkan beberapa kelebihan:

  • Rangkaian Terkurang Permintaan: URI data membenamkan data imej terus ke dalam HTML, menghapuskan keperluan untuk tambahan Permintaan HTTP.
  • Pemuatan Imej Rentas Asal: URI Data boleh digunakan untuk memuatkan imej daripada domain yang berbeza, menyelesaikan isu CORS.
  • Peningkatan Prestasi: Dengan menghapuskan permintaan rangkaian tambahan dan I/O cakera, URI data boleh meningkatkan prestasi keseluruhan imej memuatkan.

Atas ialah kandungan terperinci Bagaimanakah saya boleh memaparkan imej daripada data binari dalam satu skrip tanpa menyimpannya ke cakera?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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