[英]How to store export larger data to CSV in PHP?
我想導出成千上萬條記錄,比如說我有16.5萬條記錄可以導出到CSV。 我正在做的是獲取所有記錄並將它們放入數組中,然后使用fputcsv()
函數將其導出到CSV。 但是這樣做會使我的頁面崩潰。 我也設置了set_time_limit(0)
,但是它也不起作用。 這是我的做法:
QUERY-> SELECT s.id,
s.name,
s.email,
s.postcode,
s.dob
FROM `subscribers_table` s
WHERE s.status=1";
while(row = fetch..) {
$myarray[] = array_data
}
$fp = fopen(..);
foreach($array as $key => $value)
fputcsv($fp, $value);
fclose($fp);
任何幫助將非常感激。
你有什么錯誤? 似乎是內存溢出。 將php.ini中的'memory_limit'指令設置為更大的值。
另外,您想做的事情也可以單獨由MySQL完成:
SELECT s.id,
s.name,
s.email,
s.postcode,
s.dob
INTO OUTFILE 'c:/somefile.csv'
COLUMNS TERMINATED BY ' '
LINES TERMINATED BY '\n'
FROM `subscribers_table` s;
這不是您的解決方案。 我的解決方案是從db處理它來限制數據量,然后像分頁一樣簡單地恢復到數據量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.