這篇文章主要介紹了php匯出csv抽象類及其用法示例,可實現迴圈匯出功能,從而避免記憶體不足的問題,需要的朋友可以參考下
該php匯出csv抽象類,可根據總記錄數與每批次記錄數,計算總批次,迴圈匯出。避免記憶體不足的問題。
exportcsv.class.php類檔案如下:
/** php export csv abstract class,根據總記錄數與每批次記錄數,計算總批次,迴圈匯出。
* date: 2014-05-16
* author: fdipzone
* ver: 1.0
* func:
* public setpagesize 設定每批次匯出的記錄條數
* public setexportname 設定匯出的檔名
* public setseparator 設定分隔符
* public setdelimiter 設定定界符
* public export 執行匯出
* private getpagecount 計算匯出總批次
* private setheader 設定匯出檔案header
* private formatcsv 將資料格式化為csv格式
* private escape 轉義字串
* abstract getexporttotal 獲取總記錄條數,抽象方法,需繼承類實現
* abstract getexportfields 獲取匯出的列名,抽象方法,需繼承類實現
* abstract getexportdata 獲取每頁記錄,抽象方法,需繼承類實現
abstract class exportcsvelseif(preg_match("/firefox/", $ua))else // class end
demo示例程式如下:
// exportcsv abstract class
require "exportcsv.class.php";
// 定義繼承類
class myexport extends exportcsv{
// 要匯出的資料,實際情況會從db讀取
protected $data = array(
array('1','傲雪星楓"','男'),
array('2','傲雪星楓","','男'),
array('3','傲雪星楓","','男'),
array('4',"傲雪星楓\"\"\r\n換行",'男'),
array('5','傲雪星楓,,','男'),
array('6','傲雪星楓"','男'),
array('7','傲雪星楓','男'),
array('8','傲雪星楓','男'),
array('9','傲雪星楓','男'),
array('10','傲雪星楓','男')
/* 返回總匯出記錄數
* @return int
protected function getexporttotal(){
return count($this->data);
/** 返回匯出的列名
* @return array
protected function getexportfields(){
$title = array('id','name','gender');
return $title;
/* 返回每批次的記錄
* @param int $offset 偏移量
* @param int $limit 獲取的記錄條數
* @return array
protected function getexportdata($offset, $limit){
return array_slice($this->data, $offset, $limit);
// 匯出
$obj = new myexport();
$obj->setpagesize(1);
$obj->setexportname('myexport.csv');
$obj->setseparator(',');
$obj->setdelimiter('"');
$obj->export();
PHP 陣列匯出(extract函式)
php中extract 函式用乙個陣列 var array做引數,將 var array匯出為鍵為變數名,值為變數值的一組變數。fruit banana color red size big bill echo fruit fruit echo print r info echo echo extr...
16 匯出陣列
匯出陣列是可行的,但有乙個重要的注意事項 雖然常規陣列是在每個類例項本地建立的,但匯出的陣列是在所有例項之間 共享 的。這意味著在乙個例項中編輯它們將導致在所有其他例項中更改它們。匯出的陣列可以有初始化器,但它們必須是常量表示式。exported array,shared between all i...
php匯出陣列到csv格式demo
php的二維陣列匯出到csv需要處理文字編碼,如下 data array array username test1 password 123 array username test2 password 456 array username test3 password 789 export csv ...