Textdateien
In diesem Kapitel werden Daten in einer Textdatei gespeichert und wieder ausgelesen.
Textdatei lesen
array file ( string filename [, int use_include_path])
Zum Lesen von Dateien wird die Funktion file verwendet die eine Datei in ein Array einliest. Jede Zeile der Datei wird dabei zu einem Element des Arrays.
file1 | |
<?php $pfad="t1.txt"; $x=array(); $x= file ($pfad); foreach ($x as $e) { $e=ereg_replace ("<","<", $e); $e=ereg_replace (">",">", $e); echo $e."<br>"; } ?> |
file liest die Datei $pfad ein. Jede Zeile wird durchlaufen. < und > werden ersetzt und ausgegeben.
|
Hier folgt eine professionellere Variante mit Ausgabe der Zeilennummern:
Als Pfad können auch URL's angegeben werden.
file3 | |
<?php $pfad="http://teach-soft.com/index.htm"; $x=array(); $x= file ($pfad); foreach ($x as $line_num => $line) { echo "$line_num: " . htmlspecialchars($line) . "<br>"; } ?> |
Textdatei schreiben
Zum Schreiben wird die Funktion fopen verwendet.
resource fopen ( string filename, string mode [, int use_include_path [, resource zcontext]])
Wird $f=fopen($pfad,"a"); benutzt werden neue Daten an die Datei angehängt (append). fopen liefert einen Dateikennung. Mit dieser kann fclose diese Datei dann wieder schließen und fwrite Daten in die Datei einfügen.
Übung
Erstellen ein Programm in das Hyperlinks eintragen werden können. Diese werden in einer Textdatei gespeichert und können dann als Gesamtliste angezeigt werden.
Zitat aus www.php.net : fopen-Zugriffstypen
'r' - öffnet die Datei nur zum Lesen und positioniert den Dateizeiger auf den Anfang der Datei.
'r+' - Öffnet die Datei zum Lesen und Schreiben und setzt den Dateizeiger auf den Anfang der Datei.
'w' - Öffnet die Datei nur zum Schreiben und setzt den Dateizeiger auf den Anfang der Datei sowie die Länge der Datei auf 0 Byte. Wenn die Datei nicht existiert wird versucht sie anzulegen.
'w+' - Öffnet die Datei zum Lesen und Schreiben und setzt den Dateizeiger auf den Anfang der Datei sowie die Länge der Datei auf 0 Byte. Wenn die Datei nicht existiert, wird versucht sie anzulegen.
'a' - Öffnet die Datei nur zum Schreiben. Positioniert den Dateizeiger auf das Ende der Datei. Wenn die Datei nicht existiert, wird versucht sie anzulegen.
'a+' - Öffnet die Datei zum Lesen und Schreiben. Positioniert den Dateizeiger auf das Ende der Datei. Wenn die Datei nicht existiert, wird versucht sie anzulegen.
Ordner durchsuchen
Folgende Funktionen werden benötigt:
int opendir ( string path)Gibt ein Verzeichnis-Handle zurück, das in späteren Aufrufen von closedir(), readdir() und rewinddir() gebraucht werden kann.
void closedir ( int dir_handle)Beenden eines Verzeichnis-Handles.
string readdir ( int dir_handle)Liest den Eintrag eines Verzeichnis-Handles.
int chdir ( string directory)Wechselt in ein Verzeichnis.
bool is_dir ( string filename)Prüft ob der Dateiname ein Verzeichnis ist.
Ein Handle ist eine interne Nummer des Betriebssystems für einen geöffneten Dateizugriff (Stream). Diese Nummer wird dann von den zugehörigen Funktionen benutzt um auf diesen Stream zugreifen zu können.
Ordner auflisten | |
<?php $handle=opendir ("c:\\windows"); while ($file = readdir ($handle)) { echo "<br>$file"; } closedir($handle); ?> |
Stream zum Ordner c:\windows öffnen. Solange Dateien lesen wie vorhanden.
|