本篇文章给大家带来的内容是关于php如何导出csv文件(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
/** 如果大量数据导出 支持分页写入 * [DownloadDate 公共导出csv] * @param string $name [文件名称] * @param array $header [表头] * @param array $data [数据集] * @param $is_header [真 假 是否取表头 解决循环写入问题] * @return array name[文件名称] filePath[文件路径] */ public static function DownloadData($name='',$header=array(),$data=array(),$is_header=true){ set_time_limit(0); ini_set('memory_limit','2048M'); header("Content-type:application/vnd.ms-excel"); header("content-Disposition:filename=downloaded.pdf "); try { if (!$name || !$data) { throw new BadRequestHttpException('参数不可为空'); } $filePath = "./temp/download/{$name}.csv"; $header = implode(",",$header); $header = iconv('UTF-8', 'GBK//IGNORE', $header); $header = explode(",", $header); $fp = fopen($filePath, 'a+'); if (!empty($header) && is_array($header) && $is_header) { fputcsv($fp, $header); } foreach ($data as $row) { $str = implode("@@@@",$row); $str = iconv('UTF-8', 'GBK//IGNORE', $str); $str = str_replace(",","|",$str); $row = explode("@@@@", $str); fputcsv($fp, $row); } unset($data); if(ob_get_level()>0){ ob_flush(); } flush(); } catch (Exception $e) { throw new BadRequestHttpException($e->getMessage());//抛出异常 } return [ 'filePath'=>ltrim($filePath,"./"), 'name'=>$name.'.csv', ]; }
相关推荐:
以上是php如何导出csv文件(代码示例)的详细内容。更多信息请关注PHP中文网其他相关文章!