php 使用file_put_content将 数据 push 到csv文件中

1. 设置数据

$data = [
[
'xubin,123321',
'feifei,332234',
'tengfei',
'323423434343324323423432423432434324234324324324332'
],
[
'xubi123n',
'feife321i',
'ten321gfei'
]
];

2. 处理数据

foreach ($data as $k => $vs) {
foreach ($vs as $vk => $v) {
//如果是数字则增加制表符 防止科学计数法
if (is_numeric($v)) {
$v = "\t" . $v;
}
//去除字符中的,号
$v = str_replace(',', ',', $v);
//转义防止乱码
$v = iconv('utf-8', 'gbk//TRANSLIT//IGNORE', $v);

$vs[$vk] = $v;
}
$data[$k] = implode(',', $vs);
}

3. 生成csv文件

$data = implode("\n", $data);
//保存数据
$name = uniqid() . '.csv';
file_put_contents($path . '/' . $name, $data);
$url = request()->domain() . '/cache/excel/' . $name;
$url = str_replace('\\', '/', $url);

posted on 2021-05-19 20:48  旭彬  阅读(346)  评论(0编辑  收藏  举报