php csv 缓存,写入PHP输出缓冲区,然后从缓冲区下载CSV

我需要将一个CSV文件写入

PHP输出缓冲区,然后在写完文件后将该文件下载到客户端的计算机上. (我想把它写在服务器上并下载它正在工作,但事实证明我不会在生产服务器上有写访问权限).

我有以下PHP脚本:

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

$basic_header = array(HEADER_ITEMS_IN_HERE);

@fputcsv($basic_info, $basic_header);

while($user_row = $get_users_stmt->fetch(PDO::FETCH_ASSOC)) {

@fputcsv($basic_info, $user_row);

}

@fclose($basic_info);

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

header('Content-Type: application/csv');

header('Content-Disposition: attachment; filename=test.csv');

header('Expires: 0');

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

header('Pragma: public');

header('Content-Length: ' . filesize("php://output"));

ob_clean();

flush();

readfile("php://output");

我不知道该怎么做. CSV文件下载但不显示任何内容.我认为它与我的ob_clean()和flush()命令的顺序有关,但我不确定订购这些东西的最佳方法是什么.

任何帮助表示赞赏.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值