Hi Zusammen
Ich möchte eine bestimmte Zeile aus einer TXT-Datei ausgeben. Wie krieg ich das hin?
Grüsse
MadGeek
Ich möchte eine bestimmte Zeile aus einer TXT-Datei ausgeben. Wie krieg ich das hin?
Grüsse
MadGeek
<?php // hier werden die zu suchenden Dateien (anhand der extension) sowie der Ordnerpfad, wo die Dateien liegen, gesetzt // Ferner wird gesetzt, welche Zeilen gelesen werden sollen (wird als array definiert) ==> Zeilennummer eingeben, mit Komma trennen. Im Beispiel unten werden die Zeilen 1, 2, 3 und 4 gelesen. // In diesem Falle sehr wichtig, es hat mich Stunden gekostet, ist die Funktion rewind. Wird diese nicht gesetzt, dann geht die Schlaufe for($j=0 .........) unwiderruflich nur einmal durch und nicht $numzeilen-mal!!!!!!!! // HIER SIND DIE GEWÜNSCHTEN/ERFORDERLICHEN DATEN ZU SETZEN //*********************************************************************************************************** $pfad = "C:/Dokumente und Einstellungen/Administrator/Desktop/Neuer Ordner/000/members/"; $extension = "dat"; $lieszeile = array(1,2,3,4); $trennzeichen = ";"; // dieses Trennzeichen trennt die in der Datei gefundene Zeilen (für Verwendung in Datenbank) //************************************************************************************************************ // ermittelt die Anzahl zu lesende Zeilen $numzeilen = count($lieszeile); // ermittelt die Länge der extension $extensionlaenge = strlen($extension); // DAS IST DIE ROUTINE ******************************************************************************** $verzeichnis = opendir($pfad); while (false !== ($file = readdir ($verzeichnis))) { $laengedat = strlen($file); $namedat = substr($file, 0, $laengedat-$extensionlaenge-1); $extensiondat = substr($file, $laengedat-$extensionlaenge, $extensionlaenge); if ($extensiondat == $extension) { $filepfad = $pfad . $file; $fp = fopen($filepfad, "r"); $zeile = $namedat . $trennzeichen; for ($j=0; $j<$numzeilen; $j++) { rewind($fp); $i=0; while (!feof($fp)) { $i = $i+1; $temp = trim(fgets($fp, 100000)); // die gelesene Zeile wird getrimmt wg. allf. Leerzeichen if ($i == $lieszeile[$j]) $zeile .= " " . $temp . $trennzeichen; } } echo $zeile . "<br>"; fclose($fp); } } closedir($verzeichnis); ?>
Kommentar