Bläul.de>Computer>PHP>Befehlsreferenz>Datei-Funktionen>Inhalt lesen/schreiben   

Dateien: Inhalt lesen/schreiben


Inhalt lesen/schreiben
 fcloseSchließt eine mit fopen() geöffnete Datei
 feofÜberprüft, ob der Dateizeiger sich am Ende der geöffneten Datei befindet
 fgetcLiest ein einzelnes Zeichen aus der geöffneten Datei aus
 fgetsLiest eine ganze Zeile aus der geöffneten Datei aus
 fgetssLiest eine Zeile aus einer Datei aus und entfernt die HTML-Tags
 fileLiest eine Datei und gibt den Inhalt als Array zurück
 flockSperrt eine Datei für andere Benutzer
 fopenÖffnet eine Datei
 fpassthruGibt den gesamten Inhalt einer Datei zurück
 fputsSchreibt eine Zeichenkette in eine Datei
 freadLiest eine bestimmte Anzahl von Bytes aus einer Datei
 fseekSpringt zu einem bestimmten Byte in einer Datei
 ftellGibt die aktuelle Position in einer Datei zurück
 fwriteSchreibt eine Zeichenkette in eine Datei
 get_meta_tagsLiest die META-Tags aus einer Datei aus
 readfileLiest eine Datei und gibt den Inhalt aus
 rewindSetzt den Cursor auf den Anfang einer Datei

PHP
 highlight_file Gibt den Quellcode einer Datei aus

 

 

fclose
fclose($dateizeiger)

Schließt eine mit fopen() oder fsockopen() geöffnete Datei. Die Funktion gibt bei Erfolg true zurück, ansonsten (kaum zu glauben) false.
Beispiel$filename = "C:\Win2k\Win.ini";
if (file_exists($filename)) {
    $fp = fopen($filename, "r");
    print("Die ersten 15 Zeilen aus $filename:<pre>");
    for($i=0; $i<15; $i++) {
        print(htmlentities(fgets($fp, 500)));
    }
    fclose($fp);
}
feof
feof($dateizeiger)

Überprüft, ob der Dateizeiger sich am Ende der mit fopen(), fsockopen() oder popen() geöffneten Datei befindet und gibt true zurück, wenn das Ende erreicht oder ein Fehler aufgetreten ist.
Beispiel$filename = "C:\Win2k\Win.ini";
if (file_exists($filename)) {
    $fp = fopen($filename, "r");
    print("$filename:<pre>");
    while(!feof($fp)) {
        print(htmlentities(fgets($fp, 500)));
    }
    fclose($fp);
}
print("</pre><hr>");
fgetc
fgetc($dateizeiger)

Liest ein einzelnes Zeichen aus dem mit fopen(), fsockopen() oder popen() geöffneten Stream aus. Ist das Ende der Datei erreicht, wird false zurückgegeben.
Beispiel$filename = "C:\Config.sys";
if (file_exists($filename)) {
    $fp = fopen($filename, "r");
    print("$filename:<pre>");
    while(!feof($fp)) {
        print(htmlentities(fgetc($fp)));
    }
    fclose($fp);
}
print("</pre><hr>");
fgets
fgets($dateihandle, "max_laenge")

Liest "max_laenge" Zeichen aus einer mit fopen(), fsockopen() oder popen() geöffneten Datei aus, bzw. bis zum Ende der Zeile oder der Datei, je nachdem was zuerst kommt. Tritt ein Fehler auf, wird FALSE zurückgegeben.
Siehe auch file()
fgetss
fgetss($dateizeiger, $max_laenge)

Liest nur den reinen Text ohne HTML-Tags oder PHP-Skript-Bereichen aus dem mit fopen(), fsockopen() oder popen() geöffneten Stream, und zwar maximal $max_laenge Zeichen, es sei denn, daß das Ende des Streams oder der aktuellen Zeile eher erreicht wird.
Beispiel<html><head><title>PHP-Test</title></head><body>
<?
$filename = "index.php";
if (file_exists($filename)) {
  $fp = fopen($filename, "r");
  print("$filename:<pre>");
  while(!feof($fp)) {
    print(htmlentities(fgetss($fp, 500)));
  }
  fclose($fp);
}
print("</pre><hr>");
?>

Ende.
</body></html>
Siehe auch fgets()
file
file("dateiname")

Liest den Inhalt der Datei und gibt sie als Array zurück, wobei jede Zeile in ein Element gefügt wird. Beginnt der Dateiname mit http oder ftp wird eine entsprechende Verbindung aufgebaut.

Achtung: Am Ende jedes Arrayelements ist noch das Zeilen-Ende-Zeichen
Beispiel$file = file("test.txt");
echo $file[0];

// Ausgabe: Die erste Zeile
Siehe auch fgets()
flock
flock($datei_zeiger, $status))

Mit dieser Funktion kannst du Rechte für eine Datei von anderen Usern vergeben. Dadurch kannst du sicher sein, daß während der Arbeit an der Datei sie kein anderer beschreiben oder lesen kann.

$status bestimmt die Zugriffsrechte:
1 - Leseschutz
2 - Schreibrechte
3 - Sperre aufheben
4 - keine Sperre
Beispiel$fp = @fopen($datei, "w+");
flock($fp, 2);
fwrite($fp, time()."n");
flock($fp, 3);
fclose($fp);
fopen
fopen("dateiname", "modus")

Öffnet eine beliebige Datei. Die Datei kann auf dem eigenen Server liegen, oder auf einem anderen. Hierzu wird eine HTTP- oder FTP-Verbindung aufgebaut werden, wenn der Dateiname mit http:// oder ftp:// beginnt. Die Funktion gibt eine Dateinummer zurück, die anderen Funktionen sagt, welche der geöffneten Dateien gemeint ist.
modus gibt an, in welchem Modus die Datei geöffnet werden soll. Zur Auswahl stehen:
'r'
Öffnet eine Datei nur zum Lesen.
'r+'
Öffnet eine Datei zum Lesen und Schreiben.
'w'
Öffnet eine Datei nur zum Schreiben.
'w+'
Öffnet die Datei zum Lesen und Schreiben und löscht den Inhalt der Datei, bzw. erstellt sie, wenn sie noch nicht existiert.
'a'
Öffnet die Datei nur zum Schreiben und plaziert den Cursor am Ende der Datei, die erstellt wird, wenn sie nicht existiert.
'a+'
Öffnet die Datei nur zum Lesen und Schreiben und plaziert den Cursor am Ende der Datei, die erstellt wird, wenn sie nicht existiert.

Beispiel$fp = fopen("../public_html/index.htm", "r");
fpassthru($fp);
fpassthru
fpassthru($datei_zeiger)

Liest den Inhalt einer mit fopen() geöffneten Datei bis zum Ende der Datei aus und gibt ihn aus. Anschließend wird die Datei geschlossen.
Beispiel$fp = fopen("../public_html/index.htm", "r");
fpassthru($fp);
fputs(Alias für fwrite)
fputs($dateihandle, "zeichenkette" [, "laenge"])

Schreibt den Inhalt der Zeichenkette in eine mit fopen(), fsockopen() oder popen() geöffnete Datei. Der Schreibvorgang wird beendet, wenn das Ende der Zeichnkette erreicht wurde, oder der "laenge"ste Byte erreicht wurde, je nachdem, was früher eintritt. Die geöffnete Datei muß mit Schreibrecht geöffnet sein.
Beispiel$fp = fopen("test.txt", "w+");
fputs($fp, "Dieser Text kommt in die Datei");
fclose($fp);
fread
fread($dateizeiger, $laenge)

Liest aus dem mit fopen(), fsockopen() oder popen() geöffneten Stream bis zum Ende oder laenge Zeichen, je nach dem, was eher erreicht wird. Bei einem Fehler wird false zurückgegeben.
Beispiel$fp = fopen($filename, "r");
echo fread($fp, filesize($filename));
fclose($fp);
Siehe auch file()
fseek
fseek($dateizeiger, $position)

Springt zum positionsten Zeichen der mit fopen() geöffneten Datei. Bei Erfolg wird 0 zurückgegeben, ansonsten -1.

Diese Funktion kann nur bis zur Position 8.388.608 Bytes (8 MB) springen.
Beispiel$fp = fopen("test.txt", "r");
fseek($fp, 5);
fpassthru($fp);
ftell
ftell($dateihandle, "position")

Gibt die Position des Datei-Zeigers in einer mit fopen() oder popen() geöffneten Datei zurück. Das ist die Stelle, an die der nächste Schreibbefehl schreiben würde, bzw. von der der nächste Lesebefehl lesen würde, wenn denn einer kommt, nicht wie in dem sinnlosen Beispiel hier.
Beispiel$fp = fopen("test.txt", "r");
  fseek($fp, 5);
  echo ftell($fp);
fclose($fp);

// Ausgabe: 5
fwrite
fwrite($dateizeiger, $zeichenkette, $laenge)

Schreibt zeichenkette in den mit fopen(), fsockopen() oder popen() geöffneten Stream. Der Schreibvorgang wird beendet, wenn das Ende von $zeichenkette oder das laengste Byte erreicht wurde.
Die Datei muß mit Schreibrecht geöffnet worden sein.
Beispiel$fp = fopen("test.txt", "w+");
fwrite($fp, "Dieser Text kommt in die Datei");
fclose($fp);
get_meta_tags
get_meta_tags("dateiname")

Liest die META-Tags aus einer Datei aus. Die Datei kann auf dem selben Server liegen, oder aber mit einer HTTP oder FTP-Verbindung geladen werden, wenn der Dateiname mit ftp:// oder http:// beginnt.
Die META-Tags werden als Array zurückgegeben, wobei jedes Array-Element den kleingeschriebenen Namen des META-Tags trägt und als Inhalt den Inhalt vom META-Tag enthält. Dabei ist zu beachten, daß nur META-Tags ausgelesen werden, die in einer separaten Zeile stehen. D.h., wenn zwei META-Tags hintereinander in einer Zeile stehen, wird nur der erste ausgelesen!!!
Beispiel$meta = get_meta_tags("test.htm");
for ($i=0;$i<count($meta);$i++) {
    echo key($meta)."=".current($meta)." | ";
    next($meta);
}

// Ausgabe: description=Ganz tolle Seite | keywords=PHP, META-Tags
readfile
readfile("dateiname")

Liest eine Datei und gibt die Größe in Bytes zurück und gibt zusätzlich den Inhalt der Datei aus.
Beginnt der Dateiname mit http oder ftp, wird eine entsprechende Verbindung aufgebaut.
Beispiel$size = readfile("test.txt");
echo " Datei-Größe: $size Bytes";
Siehe auch file() und fpassthru()
rewind
rewind($dateihandle)

Setzt den Cursor einer mit fopen() geöffneten Datei auf den Anfang der Datei.
highlight_file(Alias für show_source)
highlight_file($file)

Mit dieser Funktion kannst du den Quellcode einer Seite ausgeben. PHP-Seiten werden dabei farbig markiert.

Die Farben können in PHP.ini festgelegt werden.
Beispielecho("Source-Code dieser Datei:<br>");
highlight_file($PATH_TRANSLATED);