php对csv文件的读取,写入,输出下载操作详解
以下是关于PHP对CSV文件的读取、写入、输出下载操作的详细,供有需要的朋友们参考。
在实际工作场景中,我们经常需要将网站上的数据下载为CSV文件以便后续查看,或者使用CSV进行批量上传。为此,我们需要掌握CSV的读写操作。
一、CSV读取操作
使用PHP打开CSV文件,通过fgetcsv函数逐行读取文件内容。每次调用fgetcsv()函数,都会返回一个数组,数组中的每个元素代表CSV文件中的一列。要获取某一列的数据,可以通过访问数组的相应下标来实现。
代码如下:
```php
$file = fopen('text.csv','r');
while ($data = fgetcsv($file)) {
// 处理每一行数据
// $data为一个数组,要获得某一列的数据,访问数组下标即可
$goods_list[] = $data;
}
print_r($goods_list); // 打印所有读取的数据
fclose($file);
```
二、CSV写入操作
使用PHP的fputcsv函数可以将数据写入CSV文件。fputcsv()函数的第一个参数是文件指针,第二个参数是要写入的数据数组。下面是一个简单的示例:
```php
$fp = fopen('d:/file/file.csv', 'w');
fputcsv($fp,array('aaa','bbb',''));
fputcsv($fp,array('mmm','yyy','haha'));
// fputcsv可以用数组循环的方式进行实现
fclose($fp);
```
三、CSV输出下载功能
要实现CSV文件的下载功能,需要设置正确的HTTP头部信息,并输出CSV数据。下面是一个简单的示例:
```php
header("Content-Type: text/csv");
header("Content-Disposition: attachment; filename=test.csv");
echo "id,areaCode,areaName"; // 输出CSV的表头
echo "1,,china"; // 输出第一行数据
echo "2,us,America"; // 输出第二行数据
```
如果要输出Excel文件,只需将Content-Type的值为"application/vnd.ms-excel",并将下载的文件名后缀改为.xls即可。例如:header("Content-Type: application/vnd.ms-excel"); header("Content-Disposition: filename=php100.xls");。这样就可以实现CSV或Excel文件的下载功能。以上代码仅供参考和学习,实际使用时需要根据具体需求进行调整和优化。
编程语言
- php对csv文件的读取,写入,输出下载操作详解
- JavaScript闭包的简单应用
- 微信小程序动态添加分享数据
- flex 开发项目报错之404错误解决方案
- VUE中v-on-click事件中获取当前dom元素的代码
- Jquery EasyUI $.Parser
- 让editplus3 函数模板完全显示函数
- jQuery实现智能判断固定导航条或侧边栏的方法
- vue如何引入sass全局变量
- JS实现表格数据各种搜索功能的方法
- 关于vue-router的beforeEach无限循环的问题解决
- Javascript对象Clone实例分析
- 微信小程序 图片上传实例详解
- AngularJS实现动态编译添加到dom中的方法
- AngularJS基础 ng-mousemove 指令简单示例
- jQuery实现网站添加高亮突出显示效果的方法