好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php数据写入csv php写入数组

很多站长朋友们都不太清楚php数据写入csv,今天小编就来给大家整理php数据写入csv,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 PHP导出100万数据到excel 2、 php 如何从数据里选择所需要信息然后生成csv文件自动保存在指定的路径?(不提示保存,自动) 3、 php中如何导入导出CSV格式的文件 4、 php如何读取CSV大文件并且将其导入数据库示例 5、 php 写入数据到csv中,不覆盖原有数据,以新增行插入如何实现? 6、 php 生成 csv文件 PHP导出100万数据到excel

php导出数据excel有专门的库,当导出少量数据的时候速度很快,但是当数据量大的时候就会存在服务器内存不够之类的。

所以在导出大量数据的时候就应该分页查询数据,避免服务器宕机。正好PHP提供了fputcsv函数可以将数据写入到csv文件中。

这样我们就可以使用PHP对数据进行分页查询,再写入到csv文件中。

php 如何从数据里选择所需要信息然后生成csv文件自动保存在指定的路径?(不提示保存,自动)

命令行模式下,或者web模式下保存的路径在服务器中,可以达到你的要求(有该路径的权限即可)

如果是在web模式下,不提示直接保存到访客的电脑中的某个位置,是不可以的。

web模式保存到客户端,只能通过下载,由用户指定,或保存到默认的下载目录。

以下是代码示例:

$dsn?=?'mysql:dbname=testdb;host=127.0.0.1';

$user?=?'dbuser';

$password?=?'dbpass';

//连接数据库?pdo

try?{

????$dbh?=?new?PDO($dsn,?$user,?$password,?array(PDO::MYSQL_ATTR_INIT_COMMAND?=>?"SET?NAMES?'UTF8'"));

}?catch?(PDOException?$e)?{

????echo?'Connection?failed:?'?.?$e->getMessage();exit;

}

//读取数据,?具体sql你根据情况修改

$stat?=?$dbh->prepare('SELECT?*?FROM?`table`?WHERE?`id`>0?LIMIT?100;');

$stat->execute();

$result?=?$stat->fetchAll(PDO::FETCH_ASSOC);

//创建csv文件并打开文件指针

$filepath='file.csv';

$fp?=?fopen($filepath,?'w');

//写入数据

foreach($result?as?$i=>$row){

????//写入标题行

????if($i==0){

????????fputcsv($fp,?array_keys($row));

????}

????fputcsv($fp,?$row);

}

//关闭文件指针

fclose($fp);

//把文件输出到下载

$file?=?fopen($filepath,"r");?//?打开文件

$size=filesize($filepath);

Header("Content-type:?application/octet-stream");

Header("Accept-Ranges:?bytes");

Header("Accept-Length:?".$size);

Header("Content-Disposition:?attachment;?filename=download.csv");

echo?fread($file,$size);

fclose($file);

相关知识点:

PHP: fputcsv

PHP:PDO

数据库查询的时候只返回列名,防止列出现重复,csv里会有重复的数据

php中如何导入导出CSV格式的文件

php导入CSV文件:

$line_number = 0;

$handle = fopen("1.xls","r");

while ($data = fgetcsv ($handle, 100000, ",")) {

if($line_number == 0){

$line_number++;

continue;

}

//z这样就可以去掉表头的那一行

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

$ziduan = $data[$i];

}

}

2.php导出CSV文件

header( "Cache-Control: public" );

? ? header( "Pragma: public" );

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

? ? header("Content-Disposition:attachment;filename=txxx.csv");

? ? header('Content-Type:APPLICATION/OCTET-STREAM');

ob_start();

$header_str = ?iconv("utf-8",'gbk',"信息id,标题,名称,电话,QQ,Email,内容,时间\n");

$file_str="";

$mysqli= new mysqli('localhost','root','','test');

if (mysqli_connect_errno()) {

? ? printf("Connect failed: %s\n", mysqli_connect_error());

? ? exit();

}

$sql='select * ?from messages';

$mysqli->query("set names utf8 ;");

$result=$mysqli->query($sql);

if($result){

while ($row = mysqli_fetch_assoc($result)){

$file_str.= $row['id'].','.$row['title'].','.$row['name'].','."'{$row['telephone']}'".','.$row['qq'].','.$row['email'].','.str_ireplace(',',',',$row['content']).','.$row['retime']."\n";

}

}else{

echo "nonono!!!";

}

$file_str= ?iconv("utf-8",'gbk',$file_str);

ob_end_clean();

echo $header_str;

echo $file_str;

?>

php如何读取CSV大文件并且将其导入数据库示例

思路:

读取csv文件,每读取一行数据,就插入数据库

示例

文件夹结构

/

?file.csv????//csv大文件,这里只模拟三行数据,不考虑运行效率(PS:csv文件格式很简单,文件一般较小,解析很快,运行效率的瓶颈主要在写入数据库操作)

?index.php????//php文件

file.csv

singi,20

lily,19

daming,23

index.php

/**

?*?读取csv文件,每读取一行数据,就插入数据库

?*/

//获取数据库实例

$dsn?=?'mysql:dbname=test;host=127.0.0.1';

$user?=?'root';

$password?=?'';

try?{

????$db?=?new?PDO($dsn,?$user,?$password);

}?catch?(PDOException?$e)?{

????echo?'Connection?failed:?'?.?$e->getMessage();

}

//读取file.csv文件

if?(($handle?=?fopen("file.csv",?"r"))?!==?FALSE)?{

????while?(($row?=?fgetcsv($handle,?1000,?","))?!==?FALSE)?{

????????//写入数据库

????????$sth?=?$db->prepare('insert?into?test?set?name=:name,age=:age');

????????$sth->bindParam(':name',$row[0],PDO::PARAM_STR,255);

????????$sth->bindParam(':age',$row[1],PDO::PARAM_INT);

????????$sth->execute();

????}

????fclose($handle);

}

数据表

CREATE?TABLE?`test`?(

`id`?INT(10)?UNSIGNED?NOT?NULL?AUTO_INCREMENT,

`name`?VARCHAR(255)?NULL?DEFAULT?''?COLLATE?'utf8mb4_bin',

`age`?INT(10)?NULL?DEFAULT?'0',

PRIMARY?KEY?(`id`)

)

COLLATE='utf8mb4_bin'

ENGINE=InnoDB;

运行结束后,数据库中会插入csv中的三行数据

php 写入数据到csv中,不覆盖原有数据,以新增行插入如何实现?

这个跟fputcsv无关,而主要的关键在于你打开文件的模式,你需要使用 a 或是 a+ 模式打开文件。

'a' 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

'a+' 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

$fp = fopen('file.csv', 'a+');

foreach($stu as $data);

{

fputcsv($fp,$data); //每次写入一组数据到csv文件中的一行

}

php 生成 csv文件

<?php

/**

?*?Created?by?PhpStorm.

?*?User:?chenyanphp@qq测试数据

?*?Date:?2016/12/21?0021

?*?Time:?下午?12:08

?*/

//?头部标题

$csv_header?=?['名称','性别','年龄'];

//?内容

$csv_body?=?[

?['张三','男','13'],

?['李四','女','13'],

?['王五','男','13'],

?['赵六','未知','13']

];

/**

?*?开始生成

?*?1.?首先将数组拆分成以逗号(注意需要英文)分割的字符串

?*?2.?然后加上每行的换行符号,这里建议直接使用PHP的预定义

?*?常量PHP_EOL

?*?3.?最后写入文件

?*/

//?打开文件资源,不存在则创建

$fp?=?fopen('test.csv','a');

//?处理头部标题

$header?=?implode(',',?$csv_header)?.?PHP_EOL;

//?处理内容

$content?=?'';

foreach?($csv_body?as?$k?=>?$v)?{

?$content?.=?implode(',',?$v)?.?PHP_EOL;

}

//?拼接

$csv?=?$header.$content;

//?写入并关闭资源

fwrite($fp,?$csv);

fclose($fp);

关于php数据写入csv的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php数据写入csv php写入数组的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did210060
更新时间:2023-05-03   阅读:28次

上一篇: .netphp写接口 php写接口用什么框架

下一篇:包含phpnumphp的词条

相关资讯

最新资料更新

  • 1.php接收post php接收post数据在发出代码
  • 2.手机文件php怎么打开 手机php格式文件怎么打开
  • 3.php网页老是跳转 php 网页跳转
  • 4.php推荐接口排重 接口 php
  • 5.php框架开发教程 php系统开发框架
  • 6.php大数据算法 php如何处理大数据
  • 7.极路由安装php环境 极路由安装v2ray
  • 8.phpvc6vc9的简单介绍
  • 9.jq读取php变量 php读取html内容
  • 10.php网站依赖 php运行网址
  • 11.php条形码生成 条形码生成器工具
  • 12.链式作用域php php 链式调用
  • 13.免费的php解密 php des解密
  • 14.php前端页面源码 php前端页面源码是多少
  • 15.phpgetrows的简单介绍
  • 16.关于php+imei的信息
  • 17.php网络通信 php通信协议
  • 18.php变量内存溢出 php 内存限制
  • 19.php订单管理功能 php订单提醒功能
  • 20.php语法基础csdn php语言基础

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]