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

Bagaimanakah saya boleh memaparkan imej binari secara langsung dalam satu skrip tanpa menyimpannya ke cakera?

Susan Sarandon
Lepaskan: 2024-11-08 04:55:02
asal
1108 orang telah melayarinya

How can I display binary images directly in a single script without saving them to disk?

Memaparkan Imej Perduaan dalam Skrip Tunggal

Masalah:

Bolehkah imej dicipta semula dan dipaparkan terus daripada data binari dalam skrip yang sama? Ini melibatkan pemprosesan data dengan GD atau alat yang serupa sebelum memaparkannya dalam teg imej HTML. Matlamatnya adalah untuk mengelak daripada menyimpan imej yang diproses ke cakera atau menggunakan skrip luaran.

Penyelesaian:

Ini boleh dicapai menggunakan URI data dalam atribut sumber imej. Format URI data ialah:

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

Fungsi PHP ini mencipta URI data daripada fail:

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

Kod berikut memaparkan imej menggunakan URI data:

echo '<img src="' . data_uri('elephant.png', 'image/png') . '" alt="An elephant" />';
Salin selepas log masuk

Penggunaan:

Untuk memaparkan data imej binari yang diproses, anda boleh menggunakan fungsi data_uri dan mengeluarkan URI yang terhasil sebagai sumber imej seperti ini:

$imagedata1 = file_get_contents('assets/test.png');
$imagedata1 = process_using_gd_or_something($imagedata1);

echo '<img src="' . data_uri('data:image/png;base64,' . base64_encode($imagedata1)) . '" />';
Salin selepas log masuk

Kod ini akan memaparkan imej yang diproses terus daripada data binari tanpa menggunakan skrip luaran atau storan cakera.

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

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan