php数组保存到csv,PHP数组到CSV

我试图将一个产品数组转换成一个CSV文件,但它似乎没有计划。 CSV文件是一个长行,这里是我的代码:

for($i=0;$i

$sql = "SELECT * FROM products WHERE id = '".$prods[$i]."'";

$result = $mysqli->query($sql);

$info = $result->fetch_array();

}

$header = '';

for($i=0;$i

{

$row = $info[$i];

$line = '';

for($b=0;$b

{

$value = $row[$b];

if ( ( !isset( $value ) ) || ( $value == "" ) )

{

$value = "\t";

}

else

{

$value = str_replace( '"' , '""' , $value );

$value = '"' . $value . '"' . "\t";

}

$line .= $value;

}

$data .= trim( $line ) . "\n";

}

$data = str_replace( "\r" , "" , $data );

if ( $data == "" )

{

$data = "\n(0) Records Found!\n";

}

header("Content-type: application/octet-stream");

header("Content-Disposition: attachment; filename=your_desired_name.xls");

header("Pragma: no-cache");

header("Expires: 0");

array_to_CSV($data);

function array_to_CSV($data)

{

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

fputcsv($outstream, $data, ',', '"');

rewind($outstream);

$csv = fgets($outstream);

fclose($outstream);

return $csv;

}

此外,标题不强制下载。我已经复制和粘贴输出并保存为.csv

编辑

问题解决:

如果任何人正在寻找同样的事情,找到一个更好的方法:

$num = 0;

$sql = "SELECT id, name, description FROM products";

if($result = $mysqli->query($sql)) {

while($p = $result->fetch_array()) {

$prod[$num]['id'] = $p['id'];

$prod[$num]['name'] = $p['name'];

$prod[$num]['description'] = $p['description'];

$num++;

}

}

$output = fopen("php://output",'w') or die("Can't open php://output");

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

header("Content-Disposition:attachment;filename=pressurecsv.csv");

fputcsv($output, array('id','name','description'));

foreach($prod as $product) {

fputcsv($output, $product);

}

fclose($output) or die("Can't close php://output");

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值