php导入csv脚本之家
<?php//导入CSV表格:CSV转数组
$fp=fopen($_FILES['myfile']['tmp_name'],'r');
while(($row=fgetcsv($fp))!==FALSE){//从文件指针中读入一行并解析CSV
$arr[]=$row;}fclose($fp);//开启事务,循环插入
$link=mysqli_connect("127.0.0.1","root","root","zwxiaomi");
if(!$link){echo"<script>alert('数据库连接失败!')</script>";}
$link->query("SETNAMESUTF8");
foreach($arras$row){
$danhao=substr($row[2],1);
$sql="INSERTINTOzaitugongdan(FirstName,LastName,danhao)
VALUES('".$row[0]."','".$row[1]."','".$danhao."')";
$link->query($sql);
}
?>
在代码中去掉这个符号不就可以了
㈡ php中如何导入导出CSV格式的文件
其实你可以用
phpmyadmin
实现导入导出,不过导入的时候字段要和数据表的字段一一对应,参考资料里面的直接用PHP读取excel的,可能也会对你有帮助!
㈢ 关于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文件输出是乱码,怎么解决
//这是我前几天回答过的一个问题下面以读取淘宝csv文件为例
if($result){//如果上传成功了,这是文件路径
if(!($handle=fopen_utf8($result,"r"))===FALSE){//调取下边函数fopen_utf8;
$errorArr=array();
$i=0;
while(($cols=fgetcsv($handle,1000," "))!==FALSE){
++$i;
if($i<4)continue;
$taobaolmsx=$cols[21];//宝贝属性;
$taobaoxxsx=$cols[30];//销售属性;
$goodsBn=$cols[33];//商家编码;
}
fclose($handle);
}
unlink($result);
}else{
echo'fileuploaderror';exit;
}
/*读取csv文件用*/
functionfopen_utf8($filename){
$encoding='';
$handle=fopen($filename,'r');
$bom=fread($handle,2);
rewind($handle);
if($bom===chr(0xff).chr(0xfe)||$bom===chr(0xfe).chr(0xff)){
//UTF16ByteOrderMarkpresent
$encoding='UTF-16';
}else{
$file_sample=fread($handle,1000)+'e';//readfirst1000bytes
//+eisaworkaroundformb_stringbug
rewind($handle);
$encoding=mb_detect_encoding($file_sample,'UTF-8,UTF-7,ASCII,EUC-JP,SJIS,eucJP-win,SJIS-win,JIS,ISO-2022-JP');
}
if($encoding){
stream_filter_append($handle,'convert.iconv.'.$encoding.'/UTF-8');
}
return($handle);
}
㈤ php服务器上导入csv文件的问题
上传的csv应该保存成 utf-8格式的,如果你没有其他编辑工具,可以另存完了之后,用记事本打开 csv 文件,在另存为对话框编码那里选择utf-8,保存,然后再上传。
㈥ 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=newPDO($dsn,$user,$password);
}catch(PDOException$e){
echo'Connectionfailed:'.$e->getMessage();
}
//读取file.csv文件
if(($handle=fopen("file.csv","r"))!==FALSE){
while(($row=fgetcsv($handle,1000,","))!==FALSE){
//写入数据库
$sth=$db->prepare('insertintotestsetname=:name,age=:age');
$sth->bindParam(':name',$row[0],PDO::PARAM_STR,255);
$sth->bindParam(':age',$row[1],PDO::PARAM_INT);
$sth->execute();
}
fclose($handle);
}
数据表
CREATETABLE`test`(
`id`INT(10)UNSIGNEDNOTNULLAUTO_INCREMENT,
`name`VARCHAR(255)NULLDEFAULT''COLLATE'utf8mb4_bin',
`age`INT(10)NULLDEFAULT'0',
PRIMARYKEY(`id`)
)
COLLATE='utf8mb4_bin'
ENGINE=InnoDB;
运行结束后,数据库中会插入csv中的三行数据
㈦ PHP 语句导入CSV 时如何解决CSV中双引号”的冲突
用excel编写的话,汉字默认是带双引号的,数字英文好像没问题我记得。
你用编译工具打开那个csv文件,让后吧查看"全部掉在导入,试试。
㈧ phpadmin怎么导入cvs文件
phpmyadmin 导入 csv 的用户界面如下图:
以下是相关的注意事项及说明:
1、关于 CSV 和 CSV using LOAD DATA
这两种都可以导入CSV格式的文件数据,区别在于:当文件比较大时用 CSV 可能 script 会超时,这时就得使用 LOAD DATA。
2、列名
列名就是你在导出时打钩的“将字段名称放在首行”,实际就是用分隔符分开的字段名集合,就是填写所有字段名,中间用分隔字段的字符隔开。
3、Ignore plicate rows
这个选项的作用是忽略相同的行,意为相同的行只导入一行数据。4、转义字段的字符是指数据里面可能含有特殊字符串,如分隔字段的字符、包裹字段的字符还有SQL保留字符,这些得先转义否则会出错,按默认的设置是没什么问题的。
㈨ php怎么读取csv文件并插入数据库
使用 phpmyadmin 中的导入功能,选择csv格式
㈩ php导入CSV时,会导入空白的行
CSV 文件中的空行将被返回为一个包含有单个 null 字段的数组,不会被当成错误。