daydreamer Posted September 23, 2009 Share Posted September 23, 2009 Hi. I need to output alot of mysql data (100+mbs) from a table, and allow the user to download to CSV. The script was looping each row, saving it to $csvOutput and then outputing to the users browser: <?php header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=".$fileName); echo $csvOutput; ?> But now the data has got too big to store in the RAM and is giving PHP errors. So now I am storing it to a text file. How can I make it secure so that only the user who has logged in can download this file (and not somebody who enters the URL of the file)? Quote Link to comment https://forums.phpfreaks.com/topic/175195-solved-outputting-mysql-data-to-csv-without-taking-loads-of-ram-memory/ Share on other sites More sharing options...
PFMaBiSmAd Posted September 23, 2009 Share Posted September 23, 2009 The script was looping each row, saving it to $csvOutput and then outputting to the users browser: Output the headers first, then output each row in the loop instead of saving it in $csvOutput. How can I make it secure so that only the user who has logged in can download this file Add a check at the start of the code you posted above to make sure the current visitor is logged in. Quote Link to comment https://forums.phpfreaks.com/topic/175195-solved-outputting-mysql-data-to-csv-without-taking-loads-of-ram-memory/#findComment-923448 Share on other sites More sharing options...
daydreamer Posted September 23, 2009 Author Share Posted September 23, 2009 Thanks, that did the trick. Quote Link to comment https://forums.phpfreaks.com/topic/175195-solved-outputting-mysql-data-to-csv-without-taking-loads-of-ram-memory/#findComment-923557 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.