Jump to content

Header download without echoing.


newbtophp

Recommended Posts

Hmm i have a problem, im encoding a string and writing it to a file, and then downloading it using header() however i want the downloaded file to contain the decoded string (base64_decode), but i need to do this without echoing/printing the decoded output or writing the decoded output anywhere? (like readfile),

 

my code:

 

<?php

$file = 'file.txt';

$handle = fopen($file, "w");
fwrite($handle, base64_encode($string));
fclose($handle);

    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($file));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
//decode it in memory without echoing or writing it anywhere...
    readfile(base64_decode($file));
    exit;

?>

 

PS: Cant really explain why i specifically need it to be decoded in memory (so its not echo'd or written anywhere). - as it would be tough to explain.

 

:-\

Link to comment
https://forums.phpfreaks.com/topic/194950-header-download-without-echoing/
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.