Home > Backend Development > PHP Tutorial > How can I display binary images directly in a single script without saving them to disk?

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

Susan Sarandon
Release: 2024-11-08 04:55:02
Original
1113 people have browsed it

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

Display Binary Images in a Single Script

Problem:

Can images be recreated and displayed directly from binary data in the same script? This involves processing the data with GD or similar tools before displaying it in an HTML image tag. The goal is to avoid saving the processed images to disk or using external scripts.

Solution:

This can be achieved using data URIs in the image source attribute. The data URI format is:

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

This PHP function creates a data URI from a file:

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

The following code displays an image using a data URI:

echo '<img src="' . data_uri('elephant.png', 'image/png') . '" alt="An elephant" />';
Copy after login

Usage:

To display processed binary image data, you can use the data_uri function and output the resulting URI as the image source like this:

$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)) . '" />';
Copy after login

This code will display the processed image directly from the binary data without using external scripts or disk storage.

The above is the detailed content of How can I display binary images directly in a single script without saving them to disk?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template