also ich ahbe mich nun total aufgeregt… Aber vielleicht könnt ihr mir hier helfen. Kopiere einfacha lles rein
DAS FILE: Import.class.php
<?php /*\* Dateinamen: Import.class.php \* \* Beschreibung: Importiert die Felder eines Files. \* Bevor es das tun kann, muss es die Felder erkennen und sie aufteilen. \* \* Autor: Mathis Furrer \* Flavio Sadeghi \* Erstelldatum: 21.10.03 \* letzte Änderung: 24.10.03 \*/ class import{ var $\_aFile; var $trennzeichen; var $titel; /\*\* \* konstruktor - liest das ganze übergeben array in die verwaltung \* \*/ function import($trennzeichen){ die("Funktion muss überschrieben werden. (". \_\_FILE\_\_ .":". \_\_LINE\_\_ .")"); } function openFile($filepfad){ die("Funktion muss überschrieben werden. (". \_\_FILE\_\_ .":". \_\_LINE\_\_ .")"); } /\*\* \* schliesst die datei \* \*/ function closeFile(){ die("Funktion muss überschrieben werden. (". \_\_FILE\_\_ .":". \_\_LINE\_\_ .")"); } /\*\* \* gibt die titel der datei als array zurück \* \*/ function getTitel(){ die("Funktion muss überschrieben werden. (". \_\_FILE\_\_ .":". \_\_LINE\_\_ .")"); } /\*\* \* gibt die nächste Zeile als Array zurück \* \*/ function fetch(){ die("Funktion muss überschrieben werden. (". \_\_FILE\_\_ .":". \_\_LINE\_\_ .")"); } } class import\_txt extends import{ /\*\* \* konstruktor - liest das ganze übergeben array in die verwaltung \* \*/ function import\_txt($trennzeichen = ";"){ $this-\>trennzeichen = $trennzeichen; } function openFile($filepfad){ if(file\_exists($filepfad)){ $this-\>\_aFile = fopen ($filepfad, "r"); if($this-\>\_aFile){ $this-\>getTitel(); return true; } return false; }else{ // ..error abhandlung } } /\*\* \* schliesst die datei \* \*/ function closeFile(){ // Datei schliessen. if($this-\>\_aFile){ fclose($this-\>\_aFile); } return true; } /\*\* \* gibt die titel der datei als array zurück \* \*/ function getTitel(){ if(!$this-\>titel){ $this-\>titel = explode ($this-\>trennzeichen, fgets ($this-\>\_aFile)); } return $this-\>titel; } /\*\* \* gibt die nächste Zeile als Array zurück \* \*/ function fetch(){ if(!feof($this-\>\_aFile)) { $element = fgets($this-\>\_aFile); return explode ($this-\>trennzeichen, $element); } return false; } } ?\> DIE TEST FILES: test.php und test.txt <?php /*
\* Dateinamen: test.php \* \* Beschreibung: File um zu testen ob alles richtig abläuft. \* Import.class.php (aktiv) \* \* \* Warum dieses Modul?: Damit man weiss das keine Fehler mehr da sind :smile: \* Autor: Flavio Sadeghi \* Mathis FUrrer \* Erstelldatum: - \* letzte Änderung: 24.10.03 \*/ include "local.inc.php"; // Beginn Test: Import.class $testarray = array(); $testarray[0] = array("ID","Name","Vorname"); $testarray[1] = array("1","Furrer1","Mathis1"); $testarray[2] = array("2","Furrer2","Mathis2"); $testarray[3] = array("3","Furrer3","Mathis3"); $testarray[4] = array("4","Furrer4","Mathis4"); include "Import.class.php"; $filepfad = "test.txt"; $oImp = new Import\_txt(); if(!$oImp-\>openFile($filepfad)){ die("Datei konnte nicht geöffnet werden"); }else{ $nzeile = 0; echo " TITEL: "; $atitel = $oImp-\>getTitel(); if(is\_array($asd = array\_diff($atitel,$testarray[$nzeile]))){ echo " TITEL: "; print\_r($atitel); echo " testarr: "; print\_r($testarray[$nzeile]); echo " diff: "; print\_r($asd); } while($azeile = $oImp-\>fetch()){ $nzeile++; if(is\_array($asd = array\_diff($azeile,$testarray[$nzeile]))){ echo " TITEL: "; print\_r($azeile); echo " testarr: "; print\_r($testarray[$nzeile]); echo " diff: "; print\_r($asd); } } $oImp-\>closeFile(); } ?\> --------------- TEST.TXT ID;Name;Vorname 1;Furrer1;Mathis1 2;Furrer2;Mathis2 3;Furrer3;Mathis3 4;Furrer4;Mathis4 ---------------- OK nun das File test.php vergleicht alles. Wenn etwas nicht gleich ist, wird angezeigt was nicht gleich ist. Es sollte alles gleich sein... Hier die ausgabe: TITEL: TITEL: Array ( [0] =\> ID [1] =\> Name [2] =\> Vorname ) testarr: Array ( [0] =\> ID [1] =\> Name [2] =\> Vorname ) diff: Array ( [2] =\> Vorname ) TITEL: Array ( [0] =\> 1 [1] =\> Furrer1 [2] =\> Mathis1 ) testarr: Array ( [0] =\> 1 [1] =\> Furrer1 [2] =\> Mathis1 ) diff: Array ( [2] =\> Mathis1 ) TITEL: Array ( [0] =\> 2 [1] =\> Furrer2 [2] =\> Mathis2 ) testarr: Array ( [0] =\> 2 [1] =\> Furrer2 [2] =\> Mathis2 ) diff: Array ( [2] =\> Mathis2 ) TITEL: Array ( [0] =\> 3 [1] =\> Furrer3 [2] =\> Mathis3 ) testarr: Array ( [0] =\> 3 [1] =\> Furrer3 [2] =\> Mathis3 ) diff: Array ( [2] =\> Mathis3 ) TITEL: Array ( [0] =\> 4 [1] =\> Furrer4 [2] =\> Mathis4 ) testarr: Array ( [0] =\> 4 [1] =\> Furrer4 [2] =\> Mathis4 ) diff: Array ( ) MAn bemerkt. Immer das letzte, gibt er als Diff an! WARUM???? ok denke jetzt habt ihr alle etwas zum kauen :smile:)) Gruss Celeborn