csv 文件操作

原创
2016-06-07 11:39:12 805浏览

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元

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。