As a developer, you may encounter the need to retrieve and display images using PHP's file_get_contents function. This powerful function enables you to access remote or local files and store their contents as strings. However, displaying images using file_get_contents requires additional steps to correctly handle image headers and content types.
Instead of modifying headers and echoing the image content directly, you should use readfile to output the image and its associated headers. This function reads a file directly into the output buffer, ensuring that the image data is sent to the browser in the correct format.
To use readfile, you need to first retrieve the image data using file_get_contents:
<code class="php">$remoteImage = "http://www.example.com/gifs/logo.gif";</code>
Next, get the image information, including its MIME type, using getimagesize:
<code class="php">$imginfo = getimagesize($remoteImage);</code>
Finally, use readfile to output the image and set the correct MIME type header:
<code class="php">header("Content-type: {$imginfo['mime']}"); readfile($remoteImage);</code>
Using readfile instead of file_get_contents has several benefits:
The above is the detailed content of How to Display Images Efficiently Using PHP's `readfile()` Function?. For more information, please follow other related articles on the PHP Chinese website!