当前位置:首页 > 日记 > 正文

PHP导出和导出CSV文件的详细解释

PHP导出和导出CSV文件的详细解释
我们首先准备MySQL数据表,假设有一个记录学生信息的表学生,以及ID、姓名、性别和年龄记录学生的姓名、性别、年龄和其他信息。

复制代码代码如下所示:

创建表(学生)

` ID ` int(11)不为空auto_increment,

`名字` varchar(50)不为空,

`性` varchar(10)不为空,

`年龄` SmallInt(3)不为空的默认'0',

主键(id)

)= MyISAM引擎默认的字符集utf8;
我们还需要一个HTML交互页面来放置导入表单和导出按钮。

复制代码代码如下所示:
请选择要导入的CSV文件:<输入类型提交

类=按钮value=csv>

<输入type=按钮class=按钮value=导出CSVonclick=窗口位置。href =do.php

操作=导出>
在选择当地的CSV文件,单击导入,将它做的。phpaction =进口加工,并单击导出按钮,然后请求地址做。phpaction =出口出口数据。

1。csv

do.php需要处理进出口根据得到的参数的过程,和PHP的结构如下:

复制代码代码如下所示:

include_once(连接。PHP); / /数据库连接

行动=美元_get美元{ 'action};

如果($行动= = 'import / /)为CSV

{

进口/待遇

} elseif($行动= = 'export ')/导出CSV

{

导出处理

}
导入CSV进程:检查CSV文件(被忽略的合法性)读取并解析在字段周期中打开的CSV文件>字段值>批量添加到数据表中,完成。

复制代码代码如下所示:

如果($行动= = 'import){ / /成CSV

文件名=美元美元_files { } { } 'tmp_name '文件';

如果(emptyempty($文件名))

{

请选择您要导入的CSV文件!;

出口;

}

为处理= fopen($文件名,R');

结果= input_csv美元($处理); / / CSV

len_result美元=计数($结果);

如果($ len_result = = 0)

{

没有数据!;

出口;

}

为($我= 1;$我<< len_result美元; / / $ i++)循环获取字段值

{

$name = iconv('gb2312 ','utf-8,$结果{ $我} { 0 }); / /中文转码

性别= iconv('gb2312美元,美元'utf-8 ',结果{ $我} { 1 });

年龄=结果$ { 2 } };

data_values美元=($名','性'的美元,美元的时代),;

}

data_values美元= substr(data_values美元,0,1); / /删除最后一个逗号

Fclose($处理 / /关闭);指针

查询= mysql_query美元(插入学生(姓名、性别、年龄)值data_values美元); / /批量插入数据表

如果($查询)

{

导入成功!;

其他{ }

回波导入失败!;

}

}
需要注意的是,PHP fgetcsv函数可以很容易地处理CSV文件,使用这个函数从文件指针中读取一行并解析CSV字段。以下函数解析CSV文件字段和数组的形式返回。

复制代码代码如下所示:

功能input_csv($处理)

{

($ =数组);

$ = 0;

而($data = fgetcsv(合处理,10000))

{

$ =计数($ data);

($ i = 0;$ i;

{

$;

}

美元+;

}

退回美元;

}
此外,在导入数据库时,我们使用批插入而不是插入一个bar。因此,在构建SQL语句时,我们需要稍微处理它并查看代码。

2。导出CSV

我们知道,CSV文件是一个由逗号分隔的纯文本文件,你可以用Excel打开它,,XLS相同。

CSV导出处理过程:学生信息表记录字段信息构建周期>逗号分隔的集标头信息>导出文件(下载)到本地

复制代码代码如下所示:



} elseif($行动= = 'export ')/导出CSV

{

结果= mysql_query美元(SELECT * FROM学生订单ID ASC );

姓名,性别,年龄;

$str = iconv('utf-8 ','gb2312,$str);

而($行= mysql_fetch_array($结果))

{

$name = iconv('utf-8 ','gb2312 ',$行{ 'name' }); / /中文转码

合性= iconv('utf-8 ','gb2312 ',' } { $行'sex);

$ $ - $名称。

}

为文件名=日期('ymd。.csv); / /设置文件名

export_csv($文件名,$str); / /出口

}
要将数据导出到本地,需要修改标头信息。代码如下:

复制代码代码如下所示:

功能export_csv($文件名,$数据)

{

页眉(内容类型:文本);

标题(内容配置:附件;文件名);

头('cache-control:must-revalidate,后检查= 0,预先检查= 0);

头('expires:0);

头('pragma:公众);

回波数据;

}
注意进出口过程中,因为我们是统一采用UTF-8编码,我们必须记住转码的汉字,否则,我们可能会有中文乱码情况。

好了,这篇文章在这里解释,我也会有一篇文章来介绍PHP和mysql的导入和导出excel,以及XML的导入和导出,请大家注意它。

相关文章

用js方法实现鼠标图像的透明度变化

用js方法实现鼠标图像的透明度变化

图像,方法,鼠标,透明度,电脑软件,本文介绍了js实现感应鼠标图片透明度变化的方法,供大家参考,具体的实现方法如下: 复制代码代码如下所示: 改变鼠标图像的透明度 功能使可见(狗,这){ 如果(= = 0) 过滤器。alpha。透明度= 100 其他的 过滤器。…

js共享的4种数字第一千格式方法

js共享的4种数字第一千格式方法

方法,种数,格式,第一千,电脑软件,所谓的数字第一千位形式,即从数字的数目,在每三位之间加一个逗号。例如,10000。为了响应这个要求,我最初写了一个函数: 复制代码代码如下所示: 方法 功能少(NUM){ var结果= },计数器= 0; Num =(NUM)。分裂(0 | |)。T…

PS图象处理软件设计简约时尚创意风

PS图象处理软件设计简约时尚创意风

图象处理,软件设计,创意,简约,网页模板,本教程介绍给朋友,谁使用PS图象处理软件的简单网页模板的设计,时尚的创意风格。教程比较实用。制作的作品非常漂亮。 本教程使用PS图象处理软件设计简约时尚风格的网页模板,作品非常好,主要的教程给你制…

教你使用InDesign长文章排版生成目

教你使用InDesign长文章排版生成目

教你,目录,文章,电脑软件,InDesign,对于长的文章排版目录方法介绍代设计,希望能帮助第一次学习设计的朋友提供一个学习理念 Indesign排版软件的功能是非常强大的,本文将使用一种排版方法为例,在建立目录的排版排版软件InDesign来解释一个很长…

PS图象处理软件使用刷子和过滤器快

PS图象处理软件使用刷子和过滤器快

软件使用,创造,过滤器,图象处理,刷子,使用笔创造光斑非常快。它只需要设置一些参数在预设的画笔。然后在画布上画出初始点。后来,通过调整画笔的大小,不透明度和颜色,我们可以得到更多的级光斑。 使用画笔使光斑非常快,只需在笔刷预置中设置一…

聚苯乙烯洁面乳

聚苯乙烯洁面乳

电脑软件,本教程是向朋友介绍PS,梅丽蔲,图像合成技术,教程非常好。我建议像你这样的朋友可以和教程一起学习。 本文介绍了图片的洗面奶,这是一个朋友的详细照片,谁介绍的照片合成技术产品修饰的电商。很实用,推荐与朋友一起学习。很实用,很有用,一…

Javascript学习笔记的变量和范围

Javascript学习笔记的变量和范围

范围变量,变量,学习笔记,电脑软件,Javascript,一、变 ECMAscript变量是一个松散的变量。所谓的松散变量是变量名可以保存任何类型的数据,每个变量只是保存值的占位符。 定义:无功firstdemo; 两。变量的范围 2.1基本概念 使用var定义一个变量:一…

在最完整的PS图象处理软件CC图像大

在最完整的PS图象处理软件CC图像大

工具,图像,解决方案,图象,处理软件,今天,我们为你带来PS图象处理软件CC图像处理最完整的工具。这个教程很实用。这对学习PS的朋友很有帮助。我建议你喜欢你的朋友一起学习。 今天的文章是关于您经常使用的图像大小工具。在ps CC中,对这个工具…

教你如何在烟火中制作栩栩如生的羽

教你如何在烟火中制作栩栩如生的羽

教你,栩栩如生,烟火,羽毛,如何在,本教程向您展示如何使用烟花是现实的羽化过程。生产过程非常简单。介绍很详细,推荐给朋友们。希望你能喜欢。 本教程向您展示如何使用烟花是现实的羽化过程。制作过程很简单,介绍很详细,和朋友推荐的朋友可以…

黑白抽象美化身PS片段的合成

黑白抽象美化身PS片段的合成

片段,抽象,化身,黑白,电脑软件,虽然它是一个简单的头部,但作者只是简单地装饰了一些片段和笔刷,再加上羽毛的羽毛和飞行的乌鸦,加上个性化的化妆,效果是非常艺术的。 虽然它是一个简单的头部,但作者只是简单地装饰了一些片段和笔刷,再加上羽毛的…

一个详细的解决方案的搜索和排序方

一个详细的解决方案的搜索和排序方

解决方案,搜索,排序方法,表一,详细,本文介绍了查找和排序的方法cgridview相关表一。分享给你供你参考。具体实现的方法如下: 在一cgridview搜索和排序方法有点复杂。今天我看了一个外国人写的游戏。现在我想和你们分享我的朋友们。我相信它…

推荐5种常见的Javascript调试技术

推荐5种常见的Javascript调试技术

调试,推荐,常见,技术,电脑软件,我使用printf调试前,自那时以来,我用这个方法似乎总是能够解决bug的速度。 在某些情况下,需要更好的工具,这里有一些最好的工具,我相信你会发现它们的用处: 1。调试器; 可以使用调试器;语句在代码中添加一个强制断…