Jump to content

Download a file


wadie

Recommended Posts

I've written the following code:

 

<?php
echo '<img src="Sheph.png" />';


function Wad(){
if (file_exists("Sheph.png")) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename("Sheph.png"));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize("Sheph.png"));
    ob_clean();
    flush();
    readfile("Sheph.png");
    exit;
}
}
Wad();
?>

 

What I want to do is show the image AND show a file download window.

The problem is that it shows the download window but the image doesn't appear. and if I comment the function and keep the echo part only,the image appears normally.

 

What's wrong ?  :shrug:

Link to comment
https://forums.phpfreaks.com/topic/257278-download-a-file/
Share on other sites

You cannot output two different things (content types) in the response back to a browser. You can either output a html/text page (the html <img ...> tag) or the force download headers/image data. You cannot output both in one response.

 

What exactly are you trying to accomplish?

Link to comment
https://forums.phpfreaks.com/topic/257278-download-a-file/#findComment-1318751
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.