Blogger Information
Blog 263
fans 3
comment 2
visits 113703
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
生成和写入CSV文件
福哥的博客
Original
1177 people have browsed it
<?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文件中的一行
}


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
1 comments
技术驱动 2020-04-22 15:12:30
领教了,经常回来看看
1 floor
Author's latest blog post