図1に示すように、一方向PHPによって導出された出力ストリーム
PHP://出力は
、出力ストリームへの書き込みでは、出力ストリームに出力を書き込むようプログラムがファイルのように動作することを可能にする、PHPは、出力コンテンツストリームは、ウェブサーバに送信し、保存するための要求を開始したブラウザに返されますcsvファイル
2、過度のデータによって引き起こされる問題を防止するために、出力バッファを更新します。
を用いて、ob_flush();フラッシュ()
図3に示すように、実装コード
/ * * *导出CSV * @paramの$行 * @param列$ file_nameに * / 機能 exportCsv($行、$ file_nameに = '数据' ) { $ファイル名 = $ FILE_NAME。日付( 'YmdHi')。'.CSV'; // 设置文件名 ヘッダ( "コンテンツタイプ:テキスト/ CSV" )。 ヘッダ( "コンテンツディスポジション:添付ファイル;ファイル名= \" " $ファイル名 "\""。 ); ヘッダ( 'のCache-Control: -再検証する必要があり、ポストチェック= 0、事前にチェック= 0' ); ヘッダ( '有効期限:0'ヘッダ( 'プラグマ:パブリック' ); $ FPは = のfopen( 'PHP://出力'、 'A' ); $ CNT = 0; // カウンタ $限度 = 5000; // すべての$限界線フラッシュバッファ // bomtou UTF-8通常の表示を追加しますが、XLS、XLSB、XLSX形式として保存する、編集後に問題が発生します fwriteの($ fpは、 "\のXeF \ XBB \ XBF" ;) foreachの($行 として $行){ $ CNT ++ ; IF($制限 == $のCNT){ // 多すぎるデータによって引き起こされる問題を防止するために、出力バッファをフラッシュ ob_flushを()。 フラッシュ(); $ CNT = 0 ; } fputcsv($ FP、$行)。 設定を解除($ V )。 未設定($行)。 } }