0

コードでファイルを .csv 形式でダウンロードしようとしていますが、これを管理しましたが、(#Resource ID XX) を含む追加のフィールドが含まれていることを除いて、完全に機能しましたが、これは望ましくありません。私はいくつかのブラウジングを行い、以下のコードを使用する必要があるという多くの回答を読みました:

$fp = fopen('php://output', 'w'); 


foreach ($list as $fields) {
    fputcsv($fp, $fields);
} 

rewind($fp);
$output = stream_get_contents($fp);
fclose($fp);

これは私に次のエラーを与えています: rewind(): stream does not support seeking in /var/www/opencart/admin/model/catalog/upload.php on line 30、私が理解していることから、これは通常 fopen が外部で使用されているためです。

4

1 に答える 1

3

私の経験から、 ではrewind()動作しませんphp://outputが、 では動作しphp://memoryます。

出力を取得して後で強制的にダウンロードする予定がある場合は、ストリームを巻き戻す必要はありません。で読むstream_get_contents()だけで十分です

最終的なコードは

$fp = fopen('php://output', 'w'); 

foreach ($list as $fields)
{
    fputcsv($fp, $fields);
} 

$output = stream_get_contents($fp);

fclose($fp);
于 2014-02-20T18:08:31.300 に答える