note 109606 added to function.fgetcsv
| From: | daniel dot boorn at gmail dot com | Date: | Wed, 01 Aug 2012 15:53:02 +0000 |
| Subject: | note 109606 added to function.fgetcsv | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-189563@lists.php.net to get a copy of this message | ||
<?php
# code to split large csv with low memory usage
//set_time_limit(0);
error_reporting(E_ERROR | E_WARNING | E_PARSE);
//CSV File Name
$fileName = "import.csv";
//Max rows in file
$max = 100000;
$count = $split = 0;
$columns = array();
$maxFiles = 50;//failsafe
if (($handle = fopen($fileName, "r")) !== FALSE) {
while (($data = fgetcsv($handle)) !== FALSE) {
if($split>=$maxFiles) die('max files reached');
$count++;
if($count==1){//save columns
$columns = $data;
continue;
}
//close file is max rows reached
if($count>=$max){
fclose($fp);
unset($fp);
$count=0;
$split++;
}
//open new file for writting and add columns
if(!isset($fp) && $fp !== FALSE){
$fp = fopen("{$split}_{$fileName}",'w');
fputcsv($fp,$columns);
}
//save data to open file
fputcsv($fp,$data);
}
fclose($handle);//close main file
fclose($fp);//close split file
}
----
Server IP: 192.41.42.26
Probable Submitter: 64.150.129.147
----
Manual Page -- http://www.php.net/manual/en/function.fgetcsv.php
Edit -- https://master.php.net/note/edit/109606
Del: integrated -- https://master.php.net/note/delete/109606/integrated
Del: useless -- https://master.php.net/note/delete/109606/useless
Del: bad code -- https://master.php.net/note/delete/109606/bad+code
Del: spam -- https://master.php.net/note/delete/109606/spam
Del: non-english -- https://master.php.net/note/delete/109606/non-english
Del: in docs -- https://master.php.net/note/delete/109606/in+docs
Del: other reasons-- https://master.php.net/note/delete/109606
Reject -- https://master.php.net/note/reject/109606
Search -- https://master.php.net/manage/user-notes.php