One option is to first save the CSV file as a temp file then use PHP's gzib libraries to turn into zip file (which is good anyways, saves you bandwidth on your server and makes for faster download by user = happy user) and then just provide a link to this zip file which will download without any header changes as it is a binary file not a browser-viewable text file.
On 2/19/09, Julian Montreal <[email protected]> wrote: > > > Hi everybody: i would like to ask your help with this problem i have. > I think it's more http than symfony: > > I have an action which does some queries into the database and at the > end displays them in a nice page. Now i need to export the results in > a csv format. By click a button in the results page, hopefully that > will be done. > > The problems i have are: > > 1) The output report does not exists. It's generated on the fly in the > action. I want the user to be able to download this 'file'. I started > creating another simple view which just displays the two columns > separated by a comma plus '\n'. I use setTemplate ('CVSreport') and > the code to 'create' the file is there: it's just three lines of code > and diplays data separated by a comma. > > But the problem is that it's being displayed on the screen. If i see > the source code, i verify that it's ok but i need to have the browser > to download this "file". I wonder myself: is it compulsory that the > file be previously saved (in a temp file i suppose) and then sent > through headers ('Content-Disposition=attachment, > filename=mytempfile') ?? > > If so, here comes my second question: > > 2) how do i do for, that after sending the 'headers' code, the > application displays another view like for example > "AfterDownloadSuccess" ? or can't i ? by now i'm "creating the file" > in the view not in the controller. Also, after using header and > sending the type as attachment and doing the readfile () and so on, it > works. But it stops there. If i add a header like "Location: xxx" it > will jump to that one without processing the download. > > I appreciate your help. I found some information about how to download > files through symfony but here it's not about downloading (the file is > generated on the fly) and none said how to display a view after the > the download (something like a "Redirect_after_download"). > > Julian Llanten > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "symfony users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/symfony-users?hl=en -~----------~----~----~----~------~----~------~--~---
