1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > PHP 读取/导出 CSV文件

PHP 读取/导出 CSV文件

时间:2019-02-14 03:16:46

相关推荐

PHP 读取/导出 CSV文件

php教程|php手册

thinkphp代码,代码示例,代码参考,php短信,数据库备份代码,令牌验证,去除代码中的空白和注释PHP导出CSV

php教程-php手册

工作中经常会有遇到导入/导出的需求,下面是常用的方法。

读取CSV文件,可以分页读取,设置读取行数,起始行数即可。

导出CSV文件,用两种方法进行实现。

礼物淘宝客网站源码,vscode插件自动修复,ubuntu打开速度,tomcat处理图解,sqlite3查看版本,爬虫中cookie有什么用,php表单上传图片,sgsp.seo.apk,内容网站最新好用的cms,网页下载工具v12.0,手机考试 模板lzw

/**

* 读取CSV文件

* @param string $csv_file csv文件路径

* @param int $lines 读取行数

* @param int $offset起始行数

* @return array|bool

*/

public function read_csv_lines($csv_file = \, $lines = 0, $offset = 0)

{

if (!$fp = fopen($csv_file, )) {

return false;

}

$i = $j = 0;

while (false !== ($line = fgets($fp))) {

if ($i++ < $offset) {

continue;

}

break;

}

$data = array();

while (($j++ < $lines) && !feof($fp)) {

$data[] = fgetcsv($fp);

}

fclose($fp);

return $data;

}

产品选型软件 源码,vscode怎么实时预览,ubuntu好用吗?,tomcat支持什么系统,爬虫箱盖顶,php可以做网站,宜昌商品seo推广开户,web个人网站源码下载,仪表类外贸企业建站英文模板lzw

/**

* 导出CSV文件

* @param array $data 数据

* @param array $header_data 首行数据

* @param string $file_name 文件名称

* @return string

*/

public function export_csv_1($data = [], $header_data = [], $file_name = \)

{

header(Content-Type: application/octet-stream);

header(Content-Disposition: attachment; filename= . $file_name);

if (!empty($header_data)) {

echo iconv(utf-8,gbk//TRANSLIT,\".implode(\",",$header_data).\"."\n");

}

foreach ($data as $key => $value) {

$output = array();

$output[] = $value[id];

$output[] = $value[ ame];

echo iconv(utf-8,gbk//TRANSLIT,\".implode(\",", $output)."\"\n");

}

}

烁空网络课堂系统源码下载,ubuntu无响应鼠标,非洲是爬虫族,php 注册树,网络seo工具lzw

/**

* 导出CSV文件

* @param array $data 数据

* @param array $header_data 首行数据

* @param string $file_name 文件名称

* @return string

*/

public function export_csv_2($data = [], $header_data = [], $file_name = \)

{

header(Content-Type: application/vnd.ms-excel);

header(Content-Disposition: attachment;filename=.$file_name);

header(Cache-Control: max-age=0);

$fp = fopen(php://output, a);

if (!empty($header_data)) {

foreach ($header_data as $key => $value) {

$header_data[$key] = iconv(utf-8, gbk, $value);

}

fputcsv($fp, $header_data);

}

$num = 0;

//每隔$limit行,刷新一下输出buffer,不要太大,也不要太小

$limit = 100000;

//逐行取出数据,不浪费内存

$count = count($data);

if ($count > 0) {

for ($i = 0; $i < $count; $i++) {

$num++;

//刷新一下输出buffer,防止由于数据过多造成问题

if ($limit == $num) {

ob_flush();

flush();

$num = 0;

}

$row = $data[$i];

foreach ($row as $key => $value) {

$row[$key] = iconv(utf-8, gbk, $value);

}

fputcsv($fp, $row);

}

}

fclose($fp);

}更多【干货分享】,请关注PHP工程师订阅号。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。