プロジェクトでは、データベース内のデータをクエリした後、それを csv ファイルに保存するような関数が必要になることがあります。次に、クライアントにダウンロードします。開発のアイデア:
まず、クエリが必要なデータをデータベースからクエリします。
クエリが必要なデータを CSV ファイルに書き込みます。
3. クライアント (ブラウザ) に保存します。
本番 (プロジェクト) 状況をシミュレートします。コード リストは次のとおりです。
<?php /** * 实现下载csv文件 */ //模拟数据 $users = array( array("username"=>"刘德华","age"=>56,"work"=>"演戏"), array("username"=>"张学友","age"=>55,"work"=>"唱歌"), ); $filename = date('Ymd').'.csv'; data2csv($users,$filename); /** *@param $data array 从数据库里面查询出来的数据 *@param $download_file_name string 客户端下载后的文件名 */ function data2csv($data,$download_file_name){ header("Content-type:text/csv"); //保存文件的类型 header("Content-Disposition:attachment;filename=".$download_file_name);//保存文件的名字 header('Cache-Control:must-revalidate,post-check=0,pre-check=0'); header('Expires:0'); header('Pragma:public'); ob_start();//开启ob缓存 echo "\xEF\xBB\xBF"; $df = fopen("php://output",'w'); $head = array_keys(reset($data)); fputcsv($df,$head);//保存第一行 foreach($data as $row){ fputcsv($df,$row); } fclose($df); echo ob_get_clean(); }