gpt4 book ai didi

php - fputcsv 只从数组返回一行

转载 作者:可可西里 更新时间:2023-11-01 01:07:46 26 4
gpt4 key购买 nike

这一定很简单...按照这里和 php.net 上的示例,我尝试从 mysql 查询中获取记录,将它们转换为 csv 格式,并将此数据分配给变量以供程序使用我创造了。我想在不创建临时文件的情况下完成此操作。

  public function export3() {
$order_data = array();
$order_data[] = array(
'order_id',
'email',
'telephone',
'shipping_address',
'payment_address',
'comment'
);


// Mysql returns data and is assigned to this array in the following format

$order_data[] = array(
'1',
'blank@blank',
'123456789',
'123 Lane',
'123 Lane',
'no comment'
);



$order_data[] = array(
'2',
'blank3@blank3',
'987654321',
'321 Lane',
'321 Lane',
'no comment'
);

$outstream = fopen("php://temp", 'r+');

foreach($order_data as $csv_data) {
fputcsv($outstream, $csv_data);
}

rewind($outstream);
$export_data = fgets($outstream);
fclose($outstream);

$response->output($export_data);

}

不幸的是,我偶尔会收到关于“数组到字符串”转换的投诉,但即使没有任何错误,我也只会得到第一个数组(csv 格式)而不会得到其他数组。有什么建议么?谢谢

最佳答案

使用stream_get_contents()代替 fgets(),因为后者只获取一行。

$export_data = stream_get_contents($outstream);

关于php - fputcsv 只从数组返回一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7111228/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com