登录  /  注册
博主信息
博文 263
粉丝 3
评论 2
访问量 129307
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
生成和写入CSV文件
福哥的博客
原创
1301人浏览过
<?php
header("Content-type:text/html;charset=utf-8");
$item=array(array(1,2,3,4),
array(0,0,0,0),array(0,0,0,0),array(0,0,0,0),array(0,0,0,0),array(0,0,0,0),array(0,0,0,0));

ini_set('max_execution_time',300);
$cate;$item;$value;$us;
$fp = fopen("into0.csv","a");


if (flock($fp,LOCK_EX)){
   foreach ($item as $line){
@fputcsv($fp,array($line[0],$line[1],$line[2],$line[3]));
    //sleep(1);    
       
}      
    echo "成功!";
    flock($fp,LOCK_UN);
}else{
    echo '文件正在使用,请稍后 !';
}

fclose($fp);
    
?>

1.php数据创建CSV文件
此函数使用fputcsv PHP内置函数生成逗号分隔文件(.CSV).该函数有3个参数:数据,分隔符和CSV enclosure,默认是双引号。

function generateCsv($data,$delimiter=',',$enclosure='"'){
    $handle = fopen('php://temp','r+');
    foreach($data as $line){
        fputcsv($handle,$line,$delimiter,$enclosure);
    }
    rewind($handle);
    while(!feof($handle)){
        $contents .=fread($handle,8192);
    }
    fclose($handle);
    return $contents;
}

用法

$data[0] = "apple";
$data[1] = "oranges";
generateCsv($data,$delimiter=',',$enclosuer='"');

2.php写入和读取数据到CSV文件

$row = 0;
ini_set('max_execution_time',300);
$cate;$item;$value;$us;
$fp = fopen("into.csv","a");
if(($handle = fopen("USER.csv","r"))!== FALSE){
    while (($data = fgetcsv($handle,1000,","))!==FALSE){
    $num = count($data);//列数

    $row++;
    for($c=0;$c<$num;$c++){
        if($c==0){
            $us = $data[$c];//第一列数据
            //print_r ($us) ;
        }
        if($c==1){
            $item = explode(" ",$data[$c]);//第2列数据
            echo "<PRE>";
            print_r($data[$c]);
        }elseif($c==2){
            $value=$data[$c];//第3列数据
            
        }elseif($c==3){
            $cate1=$data[$c];//第4列数据
        }else{    
        }
    }//end of for loop
if($row > 1838){
    exit;
        }
    @fputcsv($fp,array($us,$item[0],$item[1],$item[2],$item[3]));
    }//End of While
}//End of If
fclose($handle);
fclose($fp);

这个跟fputcsv无关,而主要的关键在于你打开文件的模式,你需要使用 a 或是 a+ 模式打开文件。

'a'     写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
'a+'     读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

$fp = fopen('file.csv', 'a+');
foreach($stu as $data);
{
    fputcsv($fp,$data); //每次写入一组数据到csv文件中的一行
}


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
1条评论
技术驱动 2020-04-22 15:12:30
领教了,经常回来看看
1楼
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学