newbtophp Posted March 11, 2010 Share Posted March 11, 2010 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. :-\ Quote Link to comment https://forums.phpfreaks.com/topic/194950-header-download-without-echoing/ Share on other sites More sharing options...
newbtophp Posted March 12, 2010 Author Share Posted March 12, 2010 Anyone? Perhaps changing: header('Content-Transfer-Encoding: binary'); too: header('Content-Transfer-Encoding: base64'); ? Quote Link to comment https://forums.phpfreaks.com/topic/194950-header-download-without-echoing/#findComment-1025380 Share on other sites More sharing options...
newbtophp Posted March 13, 2010 Author Share Posted March 13, 2010 Bring Up My Post Quote Link to comment https://forums.phpfreaks.com/topic/194950-header-download-without-echoing/#findComment-1025561 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.