FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » Send .csv file to browser
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: Send .csv file to browser [message #170011 is a reply to message #170003] Tue, 05 October 2010 15:25 Go to previous messageGo to previous message
Peter H. Coffin is currently offline  Peter H. Coffin
Messages: 245
Registered: September 2010
Karma:
Senior Member
On 5 Oct 2010 14:19:04 GMT, Derek Turner wrote:
> I want to use MySQL to get a list of email addresses and names and then
> output a .csv file to the browser so that it can be saved and then
> imported into Thunderbird etc.
>
> Having googled around I think the solution will be:
>
> 1. Create and open a local file for writing
>
> 2. Write the data to the local file and close it
>
> 3. Use appropriate header files and then readfile()
>
> 4. Delete the local file

Too much work. It'll be easier and simpler to skip the local file part,
and just send the appropriate HTTP headers, then the file contents
directly.

> Questions:
>
> 1. Is this a reasonable approach? Or should I be outputting to the
> browser on the fly? Or using PEAR or something like that?

Just send it. This isn't some kind of file that you have to modify the
beginning of it in accordence with what you put into it later, so a
single pass straight out the chute is better.

> 2. Can the headers appear appear anywhere in the script or must they be
> be the first lines?

Headers must be sent before you send *anything* else. Even that trailing
extra line ending in one of your inlcuded support files.

> Other questions depend on your answers to those two, so I'll keep them to
> myself for the moment.
>
> <off topic>
>
> I've exported from TB to see what its .csv output file looks like.
>
> 1. Do I really need to include all those fields?

Probably. CSV is a very positionally-oriented "protocol". If it's
looking for phone number in the 37th column, then it's going to load
what's in column 37 into a phone number. You can't generally mess around
with it. But what do you care how many fields you're sending. You're
writing a program to do it, so you have only to enter it once.

--
"Friendship is born at that moment when one person says to another,
'What! You too? I thought I was the only one!'"
--C.S. Lewis
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: file access permission?
Next Topic: Process queue without cron jobs
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Sat Nov 30 09:22:58 GMT 2024

Total time taken to generate the page: 0.04088 seconds