欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

csv 文件操作

程序员文章站 2022-05-05 14:27:30
...
php处理csv文件,csv可以用excel文件打开,操作方便.


$data = array (
array (
'张三',
'男',
'34岁',
'北京'
),
array (
'李四',
'男',
'38岁',
'天津'
),
array (
'王五',
'男',
'90岁',
'湖北'
),
array (
'赵六',
'男',
'12岁',
'陕西'
)
);



/*
* 功能描述:将数组数据写入cvs文件
*
* 参数:
* $data:需要写入的数组格式的数据
* $filename:csv文件的名称,如果没有确定,默认为当前时间(格式为:YmdHis)
*
*
* */
function write_csv($data = null, $filename = null) {
if (! ($data || $filename)) {
return false;
}

$fp = fopen ( $filename , 'w' );

foreach ( $data as $fields ) {
fputcsv ( $fp, $fields );
}

fclose ( $fp );
}


/*
* 功能描述:不写入cvs文件,并且输出的到浏览器
*
* 参数:
* $data:需要写入的数组格式的数据
* $filename:csv文件的名称,如果没有确定,默认为当前时间(格式为:YmdHis)
*
*
* */
function output_csv($data = null, $filename = null) {

if (! ($data || $filename)) {
return false;
}

header('Content-Type:application/force-download');
header("content-Disposition:filename={$filename}");

foreach ( $data as $fields ) {
foreach ($fields as $value){
echo $value.',';
}
echo "\r\n";
}




}


/*
* 功能描述:读取cvs文件
*
* 参数:
* $filename:要读取的csv文件的名称
*
*
* */
function read_csv($filename=null) {
if(!$filename){
return false;
}

$handle=fopen($filename,'r');
if(!$handle){
return false;
}

$row=1;
while($data=fgetcsv($handle,1000,",")){
$num=count($data);
echo "

第 $row 行 ,共有 $num 个字段

\n";
$row ++;
for ($c=0;$c echo $data[$c]."\t";
}
}


}

/*
* 功能描述:读取cvs文件,输出到浏览器,采用file_get_contents处理
*
* 参数:
* $filename:要读取的csv文件的名称
*
*
* */
function read_output_file_get_contents($filename=null){

if(!$filename){
return false;
}
header('Content-Type:application/force-download');
header("content-Disposition:filename={$filename}");

echo file_get_contents($filename);

}

/*
* 功能描述:读取cvs文件,输出到浏览器,采用fopen处理
*
* 参数:
* $filename:要读取的csv文件的名称
*
*
* */
function read_output_fopen($filename=null){

if(!$filename){
return false;
}
header('Content-Type:application/force-download');
header("content-Disposition:filename={$filename}");


$file_handle = fopen($filename, "r");
while (!feof($file_handle)) {
$line = fgets($file_handle);
echo $line;
}
fclose($file_handle);

}

//write_csv($data,'test.csv');//将数据写入csv文件

//output_csv($data,'test.csv');//不写入csv文件,直接输出到浏览器下载

//read_csv('test.csv');//读取指定的csv文件

//read_output_file_get_contents('test.csv');//读取cvs文件,输出到浏览器,采用file_get_contents处理

//read_output_fopen('test.csv');//读取cvs文件,输出到浏览器,采用fopen处理

AD:真正免费,域名+虚机+企业邮箱=0元