<?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文件中的一行
}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号