導讀:有時候我們需要對收集的數據做統計,並在頁面提供顯示以及下載。除了對傳統的excel存取之外,對CSV文件的存取也很重要。本文列出了這兩種操作的詳細代碼。
代碼:
<?php
$file = fopen('text.csv','r');
while ($data = fgetcsv($file)) { //每次讀取CSV裡面的一行內容
//print_r($data); //此為一個數組,要獲得每一個數據,訪問數組下標即可
$goods_list[] = $data;
}
//print_r($goods_list);
echo $goods_list[0][1];
fclose($file);
?>
在實際工作中,很多時候需要把網站上的一些數據下載到CSV文件裡,方便以後查看。
亦或者是用CSV進行一些批量的上傳工作。
這個時候我們就需要對CSV進行讀寫操作。
php CSV的讀取操作
代碼:
<?php
$file = fopen('D:/file/file.csv','r');
while ($data = fgetcsv($file)) { //每次讀取CSV裡面的一行內容
print_r($data); //此為一個數組,要獲得每一個數據,訪問數組下標即可
}
fclose($file);
?><?php $file = fopen('D:/file/file.csv','r'); while ($data = fgetcsv($file)) { //每次讀取CSV裡面的一行內容 print_r($data); //此為一個數組,要獲得每一個數據,訪問數組下標即可 } fclose($file); ?>
CSV的寫入操作
代碼:<?php
$fp = fopen('d:/file/file.csv', 'w');
fputcsv($fp,array('aaa','bbb','cccc')); // www.jbxue.com
fputcsv($fp,array('mmm','yyy','haha')); //fputcsv可以用數組循環的方式進行實現
fclose($fp);
?><?php $fp = fopen('d:/file/file.csv', 'w');
fputcsv($fp,array('aaa','bbb','cccc'));
fputcsv($fp,array('mmm','yyy','haha')); //fputcsv可以用數組循環的方式進行實現 fclose($fp);
?>
輸出CSV(下載功能)
代碼:
<?php
header("Content-Type: text/csv");
header("Content-Disposition: attachment; filename=test.csv");
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Expires:0');
header('Pragma:public');
echo "id,areaCode,areaName/n";
echo "1,cn,china/n";
echo "2,us,America/n";
?>輸出excel(下載功能)
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=php100.xls");
echo "id,areaCode,areaName/n";
echo "1,cn,china/n";
echo "2,us,America/n";