首页 > 代码库 > 导入导出csv文件
导入导出csv文件
在工作中需要把csv文件数据导入数据库或者把数据库数据导出为csv文件。以下是我的简单的实现。
1 <?php 2 class csv 3 { 4 public $db_connection; 5 public $table_name; 6 public $file_path; 7 8 public function __construct($db_connection,$table_name,$file_path) 9 { 10 $this->db_connection=$db_connection; 11 $this->table_name=$table_name; 12 $this->file_path=$file_path; 13 } 14 15 /* 16 **把本地csv文件导入数据库 17 */ 18 public function import() 19 { 20 $sql="insert ".$this->table_name." values "; 21 $fp=fopen($this->file_path, "r"); 22 if($fp){ 23 while(($data=fgetcsv($fp,1000))!==FALSE){ 24 $values="("; 25 $num=count($data); 26 for($c=0;$c<$num;$c++){ 27 $data[$c]=str_replace("‘", "\‘", $data[$c]); 28 $values.="‘".$data[$c]."‘,"; 29 } 30 $values=substr($values,0,strlen($values)-1); 31 $values.="),"; 32 $sql.=$values; 33 } 34 } 35 $sql=substr($sql,0,strlen($sql)-1); 36 $this->db_connection->exec($sql); 37 fclose($fp); 38 echo "Fairy sister Liu Yifei, BI master‘s idol!"; 39 } 40 41 /* 42 **把数据库表导出到本地csv文件 43 */ 44 public function export() 45 { 46 $fp=fopen($this->file_path, "w"); 47 if($fp==TRUE){ 48 $sql="select * from ".$this->table_name." limit 300"; 49 foreach($this->db_connection->query($sql)->fetchAll() as $row){ 50 $i=0; 51 foreach ($row as $key => $value) { 52 if($i%2==0){ 53 unset($row[$key]); 54 } 55 $i++; 56 } 57 fputcsv($fp,$row); 58 } 59 } 60 fclose($fp); 61 echo "Fairy sister Liu Yifei, BI master‘s idol!"; 62 } 63 }
导入导出csv文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。