php导出csv

博客指出在PHP导出CSV时,电话等长数字会变成科学计数,解决办法是在PHP中对电话字段进行处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php
require_once 'dbModel.php';
$db=new dbModel();
//定义文件名字
$filename='order_'.date('YmdHis').md5(uniqid(rand())).'.csv';
$fp=fopen($filename,'w');
//设置列名
$head=['id','编号','物品','价格','备注'];
foreach ($head as $i => $v) {
    // CSV的Excel支持GBK编码,一定要转换,否则乱码
    $head[$i] = iconv('utf-8', 'gbk', $v);
}
// 将列名通过fputcsv写到文件句柄
fputcsv($fp,$head);
$result=$db->select('order_info','*');
foreach ($result as $line){
    foreach($line as $key => $item) {
                // $line[$key] = iconv('UTF-8', 'GBK', $item);
//当报这个错误时候。用下面的编码iconv(): Detected an illegal character in input string 
        $line[$key] = mb_convert_encoding($item,"GBK","UTF-8");
    }
    fputcsv($fp, $line);
}
fclose($fp);
echo (json_encode($filename));

php导出csv,电话之类的长数字会变成科学计数。

在php中对电话这个字段处理一下即可:

$result=$db->select('li_store_orders',["goodId","goodTitle","telPhone","payPrice","realName"]);
// var_dump($result);
foreach ($result as $line){
    $line["telPhone"]=$line["telPhone"]."\t";
    foreach($line as $key => $item) {
        // $line[$key] = iconv('UTF-8', 'GBK', $item);
        $line[$key] = mb_convert_encoding($item,"GBK","UTF-8");
    }
    fputcsv($fp, $line);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值