生成和写入CSV文件

<?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,默认是双引号。

1

2

3

4

5

6

7

8

9

10

11

12

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;

}

用法

1

2

3

$data[0] = "apple";

$data[1] = "oranges";

generateCsv($data,$delimiter=',',$enclosuer='"');

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

$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+'     读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
 

1

2

3

4

5

$fp fopen('file.csv''a+');

foreach($stu as $data);

{

    fputcsv($fp,$data); //每次写入一组数据到csv文件中的一行

}

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值