On Mon, Apr 19, 2010 at 11:14 AM, Peter Lind <peter.e.lind@xxxxxxxxx> wrote: > On 19 April 2010 17:00, Andrew Ballard <aballard@xxxxxxxxx> wrote: >> On Mon, Apr 19, 2010 at 9:45 AM, Manolis Vlachakis >>> 1. $save=split("[|;]",$listOfItems); >>> >>> and what i want i s after making some changes to the attributes on the array >>> above to export them on an csv or excel format >>> but directly as a message to the browser .. >>> i dont want it to be saved on the server ... >>> >> Often when outputting csv, I usually do something like this: >> >> <?php >> >> $fp = fopen('php://output', 'w') or die('Could not open stream'); >> >> foreach ($data as $row) { >> // Assumes that $row will be an array. >> // Manipulate the data in $row if necessary. >> fputcsv($fp, $row); >> } >> >> ?> > > An interesting idea. I'd do: > > echo implode(',', $row); > If it's very simple data that works, but it doesn't allow for the optional enclosure characters that fputcsv() uses in cases where a data element includes the column and/or row delimiter characters. I had originally written something using an array_map callback that did the optional enclosures as needed and then used echo implode() as you suggest, but found the solution I posted was shorter and faster. YMMV Andrew -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php