php上传csv数据库 php导出csv

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

php导入CSV文件:

成都创新互联公司主营上城网站建设的网络公司,主营网站建设方案,重庆APP开发公司,上城h5小程序制作搭建,上城网站营销推广欢迎上城等地区企业咨询

$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文件到mysql的时候!

1. 把现有表中的 email 字段设为 "唯一" 或者 "主键";2. 用SQL语句导入csv文件:LOAD DATA INFILE 'file_name.csv' IGNORE #注意, 这里的IGNORE是关键, 不导入重复的行

INTO TABLE tbl_name

FIELDS

TERMINATED BY ',' #用逗号分割字段

OPTIONALLY ENCLOSED BY '"' #根据csv文件的字符串是否用引号括起来设置

PHP导入CSV到MYSQL的问题

直接引入带key和value的数组$data :

$keys = array_keys($data);

$values = array_values($data);

if($keys $values ){

$sql="INSERT INTO zaitugongdan (" . implode(',',$keys) . ") VALUES ('" . implode(',',$values ) . "')";

}

php点击按钮上传csv文件,存入mysql数据库代码怎么写

?php

$data=file("data.csv");

$j=count($data);

for($i=2;$i$j;$i++){

$val="'".str_replace(",","','",trim($data[$i]))."'";

$sql="insert into tab values(".$val.")";

mysql_query($sql,$mylink);

}

?//最简单的形式]

//我不了解csv 现在给你改下

?php

$fp=fopen("a.csv","r");

while(! feof($fp)){

$data=fgetcsv($fp);

if(!is_array($data))

continue;

$sql=$p="";

foreach($data as $val){

$sql.=$p."'".$val."'";

$p=",";

}

$sql="insert into tab values(".$sql.")";

echo $sql;

//mysql_query($sql,$mylink);

}

fclose($fp);

?

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数据库 php导出csv
本文网址:http://pwwzsj.com/article/docgesh.html