码迷,mamicode.com
首页 > 其他好文 > 详细

导入导出csv文件

时间:2017-01-12 18:22:19      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:each   const   code   文件导入   insert   简单   from   文件   span   

在工作中需要把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文件

标签:each   const   code   文件导入   insert   简单   from   文件   span   

原文地址:http://www.cnblogs.com/zhanglielie/p/6279045.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!