日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php 下载.csv,php 文件流的形式下载csv

發布時間:2025/3/12 php 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 下载.csv,php 文件流的形式下载csv 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用文件流下載csv原因

使用php 下載excel 經常會因為文件太大 導致內存不足 下載失敗

直接上代碼

$columns = [

'u_id',

'用戶姓名'

];

$items=[["u_id"=>1,"用戶姓名"=>"x1"],["u_id"=>2,"用戶姓名"=>"x2"]];

//定義文件名稱

$csvFileName = date("Ymd").'hero.csv';

//設置好告訴瀏覽器要下載excel文件的headers

header('Content-Description: File Transfer');

header('Content-Type: application/vnd.ms-excel');

header('Content-Disposition: attachment; filename="'. $csvFileName .'"');

header('Expires: 0');

header('Cache-Control: must-revalidate');

header('Pragma: public');

$fp = fopen('php://output', 'a');//打開output流

mb_convert_variables('UTF-8', 'UTF-8', $columns);

fputcsv($fp, $columns);//將數據格式化為CSV格式并寫入到output流中

$accessNum =count($items);

$perSize=1000; //設置每次下載數量

$pages = ceil($accessNum / $perSize);

for($i = 0; $i < $pages; $i++) {

$rowDatas = array_slice($items,$i*$perSize,1000);

foreach ($rowDatas as $rowData){

mb_convert_variables('UTF-8', 'UTF-8', $rowData);//utf-8入 utf-8出

fputcsv($fp, $rowData);

}

unset($accessLog);//釋放變量的內存

//刷新輸出緩沖到瀏覽器

ob_flush();

flush();//必須同時使用 ob_flush() 和flush() 函數來刷新輸出緩沖。

}

fclose($fp);

總結

以上是生活随笔為你收集整理的php 下载.csv,php 文件流的形式下载csv的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。