PHP Speichern, Editieren, Öffnen von Dateien

From Coders.Bay Wiki
Revision as of 09:24, 8 June 2022 by Titzi (talk | contribs) (→‎Superglobale Variablen)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

fopen(), fgets(), fclose()[edit]

  • Befehl fopen() öffnet eine Datei oder URL
  • nach dem Dateinamen folgt der Modus => spezifiziert Zugriffstyp
    • r – nur zum Lesen geöffnet, platziert Dateizeiger am Dateianfang
    • r+ – Lesen und Schreiben, platziert Dateizeiger am Dateianfang
    • w – nur zum Schreiben, platziert Dateizeiger am Dateiende.
    • w+- zum Schreiben und Lesen geöffnet, platziert Dateizeiger am Dateiende. Existiert Datei nicht, versucht, diese zu erzeugen
    • a – zum Erweitern der bestehenden Inhalte
  • fopen() erzeugt als Rückgabewert einen Handle => bietet im Programm Zugriff auf Datei und muss in Variable gespeichert werden
    • Üblich $handle oder $fh (file handle) zu nennen
  • Um jede Zeile aus File einzulesen => while-Schleife
  • feof – Prüft, ob ein Dateizeiger am Ende der Datei steht.
  • Solange er nicht am Ende ist hat er Wert false
  • fgets() – Liest eine Zeile von der Position des Dateizeigers.
  • fclose() – schließt den Zugriff auf die Datei wieder und sollte immer nach der letzten Verwendung des Handles eingefügt werden


Links:

<?php
$handle = fopen('beispiel.txt', 'r');

$result = array();
if($handle) {
  $i = 0;
  while(!feof($handle)) {
    $content = fgets($handle);
    $result[$i] = $content;
    $i++;
    print $content."<br>\n";
  }
  fclose($handle);
} else {
  print "Datei konnte nicht geöffnet werden<br>\n";
}
?>
  • Modus beim Öffnen für das Schreiben: w
  • fputs() – Diese Funktion ist ein Alias für: fwrite()
  • fwrite() schreibt den Inhalt der Zeichenkette string in die Datei, auf welche der Dateizeiger handle zeigt.
  • Mit \n Zeilenumbruch in der Datei erzeugen
  • https://www.php.net/manual/de/function.fwrite.php
<?php
$handle = fopen('beispiel.txt', 'w');
if($handle) {
  for($i = 0; $i < 10; $i++){
    fputs($handle, ($i+1) . "\n");
  }
  fclose($handle);
} else {
  print "Datei konnte nicht geöffnet werden.<br>\n";
}
?>


Superglobale Variablen[edit]

Superglobals — Superglobals sind Built-in-Variablen, die immer in allen Gültigkeitsbereichen (s.g. Scopes) verfügbar sind.

  • Die, die ihr wahrscheinlich am häufigsten verwenden werdet, sind POST und GET.
  • $_POST und $_GET sind zwei verschiedene Methoden um Daten über einen HTTP request zu senden
    • POST verwendet man um Daten an einen Server zu senden
    • GET verwendet man um Daten von einem Server anzufordern

Wiederholung Bestandteile eines HTTP Requests

Weitere Superglobals[edit]
  • $_SESSION
  • $_COOKIE
  • $_REQUEST
  • $_SERVER