PRZYKŁAD KODU GDZIE KIEDYŚ ROZDZIELAŁEM/SORTOWAŁEM a wcześniej obrabiałem dane po czym zapisywałem do różnych CSV
musisz mieć osobne uchwyty do każdego z plików... można to by zrobić w pętli ale skoro daleś w dziale obiektowym więc masz przykłady które mam pod ręką:
class saveFileAsCSV {
private $kotwica;
private $separator;
public function __construct($name, $separator="\t") {
$this->separator=$separator;
$this->kotwica = fopen($name.'.csv', 'w'); }
public function writeRow($row) {
fputcsv($this->kotwica, $row, $this->separator);
}
public function writeArray($array) {
foreach ($array as $row) {
fputcsv($this->kotwica, $row, $this->separator);
}
}
public function __destruct() {
$vars=get_object_vars($this);
while(list
($key)=each($vars)) { };
}
}
i kolejny który w danej chwili służył za "sterownik" [możesz to całkiem inaczej napisać - to tylko przykład] [zwróć tutaj uwagę na metodę addRowToFile]:
class sterownik_filtr {
private $saveToFile;
private $naglowki;
private $katalog;
public function __construct($katalog='./',$naglowki=null) {
if(isset ($naglowki))$this->naglowki=$naglowki; $this->katalog=$katalog;
}
public function adRowToFile($file,$row){
if(!isset($this->saveToFile[$this->katalog.$file])){ $this->saveToFile[$this->katalog.$file]=new saveFileAsCSV($this->katalog.$file);
if(isset($this->naglowki))$this->saveToFile[$this->katalog.$file]->writeRow($this->naglowki); }
$this->saveToFile[$this->katalog.$file]->writeRow($row);
}
public function __destruct() {
unset($this->naglowki,$this->saveToFile); }
}
w destruktorze zwalniałem uchwyty... i z tego co widzę musisz zamienić 'w' na 'w+' gdyż chyba taki sposób zapisu jest Ci potrzebny...