copyright (c)  2003   useGroup
PHP

Jochen Stärk
PHP-Tutorial
Dateifunktionen

nach untenDateien, generell
nach untenDateien einfach lesen
nach untenURLs einfach lesen
nach untenDateien schreiben
nach untenVerzeichniszugriff
nach untenDateiupload

Dateien, generell

nach obenDateien, generell 

Auf unserem Testsystem beschäftigen uns nur Windows-Dateien. Linux-Dateien mit Ihren erweiterten Eigenschaften wie Eigentümer, Gruppe, Ausführrechte usw.. können in PHP auch verwaltet werden, lesen Sie dazu bitte die Filesystem functions im Referenzmanual.


Dateien einfach lesen

nach obenDateien einfach lesen 

Wie so oft in der Welt der Informatik ( ;-)) muss man auch in PHP teilweise Dateien lesen. Dies kann man mit file (Dateiname) tun. $datei=file("c:/autoexec.bat"); liest z.b. die gesamte Autoexec.bat in den Array $datei. Jede Indexnummer des Arrays enthält eine Zeile der Autoexec. (Für jeden, er das jetzt für ein Sicherheitsloch hält muss gesagt werden, dass es sich nur um die Autoexec des SERVERS und keinesfalls um die des Anwendungscomputers handeln kann.) Allerdings kann man mit PHP auch Vollzugriff auf den Server gewährleisten -- wenn man z.B. den Benutzer selbst einen Variablennamen eingeben lässt, der dann als Datei geöffnet wird.

Pfadangabe

Pfäde werden in Linux und Windows mit dem Slash getrennt. Eine Angabe mit Backslash ist unter Windows auch möglich, wenn dieser auch als Doppelbackslash (\\) maskiert werden muss (siehe: Stringfunktionen).


URLs einfach lesen

nach obenURLs einfach lesen 

Geht wie Dateien lesen :)

$url=file("http://www.altavista.com/");
schreibt je eine Zeile der HTML-Quelltextes in das Array url. Leichter gehts nicht.


Dateien schreiben

nach obenDateien schreiben 

Geht mit

int fopen(<Dateiname>,<Kommando>), fwrite (<Dateiindex>,<String>) und fclose(<Dateiindex>)
.

Kommandos

r Nur Lesen (von Anfang der Datei)
r+ Lesen und Schreiben (von Anfang der Datei)
w Nur Schreiben (falls Datei vorhanden, überschreiben)
w+ Lesen und Schreiben (falls Datei vorhanden, überschreiben)
a Nur Schreiben (Anhängen an bereits exisitierende Datei, ggf. Datei erstellen)
a+ Lesen und Schreiben (Anhängen an bereits exisitierende Datei, ggf. Datei erstellen)

Bitte beachten

Bitte beachten Sie, dass nur Strings geschrieben werden und das Schreiben des Bytes 0 mit diesen Funktionen nicht funktioniert, weil 0 das Ende eines Strings signalisiert. (Genauso kann man meines Wissens auch mit file() nicht über ein 0 hinweglesen)

URLs

Wenn als Dateiname eine URL angegeben wird, wird dorthin entweder per HTTP oder per FTP geschrieben, je nach Protokoll. Benutzername und Passwort kann in der Form ftp://benutzername:passwort@server.de/verzeichnis/datei angegeben werden.

Beispiele

$fp=fopen("c:/test.txt",w);
fwrite ($fp, "Dies ist ein magischer String\nin zwei Zeilen");
fclose($fp);
---
$fp = fopen("ftp://user:password@netzwelt.com/", "a+");
fwrite ($fp, "Dies ist ein magischer String\nin zwei Zeilen");
fclose($fp);


Verzeichniszugriff

nach obenVerzeichniszugriff 

Erfolgt mit

int opendir(<Pfad>), readdir(<Pfadindex>) und closedir(<Pfadindex>)
$dir=opendir("c:/");
while ($file = readdir($dir))
{
    echo "$file\n";
}
closedir($dir);


Dateiupload

nach obenDateiupload 

Diesen Abschnitt finden Sie in Formulardaten übernehmen.


copyright (c)  2003   useGroup