2011-09-09 13 views
5

出力をファイルに書き込むのではなく、fputcsvの戻り値を得るには、関数やクールなトリックを知っている人はいますか?fputcsvの戻り値を取得

ファイルをタブ区切りファイルとしてエンコードしようとしていますが、クライアントがcsvでエンコードされた列の1つを必要としています(タブ区切りファイルのcsv値の1列)。理想的ではありませんが、私は同意します。しかし、この時点で、私はそれを完了する必要があります。

ありがとうございます!

答えて

8

は臆面もなくドキュメントページにuser noteからのコピー:

$buffer = fopen('php://temp', 'r+'); 
fputcsv($buffer, $data); 
rewind($buffer); 
$csv = fgets($buffer); 
fclose($buffer); 

// Perform any data massaging you want here 
echo $csv; 

このすべてが多分php://temp除き、おなじみのはずです。

+1

より完全なので、この回答を受け入れてください。よく働く!あなたが 'fgets'の後に' trim 'して、 'fputcsv'が追加する新しい行を取り除くことを確認してください。 –

3
$output = fopen('php://output', 'w'); 
fputcsv($output, $line); 
fclose($output); 

それとも、直接出力したくない場合php://memoryのように、他のsupported wrappersのいずれかを試してみてください。

関連する問題