On Thu, 2006-08-10 at 01:20 +0900, Dave M G wrote:
> PHP List,
>
> In the last stage of my current script, I need to take a bunch of data
> from the database and put it into a text file for the user to save to
> their computer and import into an application.
>
> The file being created is just a list of Japanese words and definitions
> delineated by tabs.
>
> The file format should be a text file. Actually, it could also be CSV
> file, since it's tab delineated data.
>
> The application being imported to only accepts EUC-JP encoding for text
> files that include Japanese text, so my data, which is stored in the
> database as UTF-8, will need to be converted to EUC-JP at some point
> along the way to being written to the file.
>
> This file need not ever be stored on the server. In fact, I'd rather it
> not so as to avoid any headaches with permissions settings (which always
> give me a headache, but that's a rant for another day).
>
> So, I'm looking on php.net for functions that would be able to create a
> file out of some data and pass it along to the user.
>
> But it seems that the assumption of all the file functions (that I've
> found) such as fwrite(), fopen(), file(), readfile(), and others are all
> about taking an existing file and working with it. And more importantly,
> all of them seem to assume that the place where the file would be stored
> is on the servers system, and not immediately passed on to the user.
>
> I have a suspicion that this is one of those situations where the
> starting point is assumed to be so simple that no one goes out of their
> way to document or explain it.
>
> I'm too lost to know where to begin.
>
> How do I create a file that the user saves, and is not stored on the server?
It's all about the headers... I use the following:
function uploadStream( $filename=null, $csv=null )
{
if( $csv === null )
{
$csv = $this->csv;
}
if( $filename === null )
{
$filename = 'download.csv';
}
header( "Content-type: text/csv" );
header( "Content-disposition: inline; filename=$filename" );
echo $csv;
exit();
}
You can feel free to adapt it since I ripped it out of my CSV writer
service and so it won't work as-is.
Cheers,
Rob.
--
.------------------------------------------------------------.
| InterJinn Application Framework - http://www.interjinn.com |
:------------------------------------------------------------:
| An application and templating framework for PHP. Boasting |
| a powerful, scalable system for accessing system services |
| such as forms, properties, sessions, and caches. InterJinn |
| also provides an extremely flexible architecture for |
| creating re-usable components quickly and easily. |
`------------------------------------------------------------'
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php