2011-01-14 16 views

Odpowiedz

37

Znalazłem to na stronie PHP docs, pierwszy komentarz pod numerem funkcji:

function outputCSV($data) { 
    $outstream = fopen("php://output", 'w'); 
    function __outputCSV(&$vals, $key, $filehandler) { 
    fputcsv($filehandler, $vals, ';', '"'); 
    } 
    array_walk($data, '__outputCSV', $outstream); 
    fclose($outstream); 
} 

I druga opcja:

$csv = fopen('php://temp/maxmemory:'. (5*1024*1024), 'r+'); 
fputcsv($csv, array('blah','blah')); 
rewind($csv); 

// put it all in a variable 
$output = stream_get_contents($csv); 

Nadzieja to pomaga!

Przy okazji dokumentacja PHP powinna być zawsze Twoim pierwszym przystankiem podczas próby zrozumienia. :-)

+0

drát ... jak mogłam przegapić !!! –

+1

outputCSV() z witryny PHP nie działa, czy w ogóle to testowałeś? –

+4

Odpowiedziałem na to pytanie 4+ lat temu, może coś się zmieniło? Nie mogę uczciwie powiedzieć, czy spróbowałem, czy nie, ale podejrzewam, że bym to zrobił. Możesz rozwinąć to, co dokładnie nie działa, zamiast pustej odpowiedzi bez szczegółów, a może zajrzę w to dalej. –

2

Jako oryginalny Asker chciał „pisać do przeglądarki w locie”, może warto zauważyć (jak moja sprawa i nikt nie wspomniał o tym), że jeśli chcesz, aby wymusić plik Nazwa i dialogowe z prośbą o pobranie pliku w przeglądarce, należy ustawić odpowiednie nagłówki przed wyprowadzanie niczego z fputcsv:

header('Content-Type: text/csv; charset=utf-8'); 
header('Content-Disposition: attachment; filename=myFile.csv');