2009年6月7日

CSV檔在PHP上的應用範例


此篇主要著重於探討CSV檔在PHP上的應用,文中提及資料庫連線及方法於此不多做討論。

CSV檔案內容主要是資料與資料間採「 , 」(逗號)格開的方式儲存,以下範例:



// file.csv  內容開始 =======================================



商品編號,商品名稱,單價

1,鳳眼糕,50

2,石花糕,60

3,元寶酥,80



// file.csv 內容結束 ========================================



// 資料表 product  內容開始=======================================



productid, int(11)                         //商品編號

productname, varchar(200)      //商品名稱

productprice, int(11)                   //單價



// 資料庫內容結束 =======================================



PHP提供函式可對CSV檔案作存取(可參考:http://www.php.net

資料庫連線方式及說明(可參考:http://www.php.net

<?php

$row = 1;

$handle = fopen("file.csv", "r");



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

           
$num = count($data);

           
$row++;



            
if($row!=1){  // 第一筆不讀入,若您的CSV檔案內容包含欄位名稱請加上此判斷句

                   
for ($c=0; $c < $num; $c++) {

                       
$tmp[$c] =$data[$c];     //將取得的資料暫時存於$tmp陣列中

                    
}



                 
echo $tmp[0].' ';                   //印商品編號

                 
echo $tmp[1].' ';                   //印商品名稱

                 
echo $tmp[2].' <br />';          //印單價並換行:<br />





                
//逐筆寫入資料表 product 中對應的欄位  

               
$query = "INSERT INTO product (productid, productname, productprice) VALUES ('$tmp[0]','tmp[1]','tmp[2]');";

                
$result = mysql_query($query);

             
}

        
}

 
fclose($handle);

?>


 


http://blog.yam.com/nian0827/article/18329527