Difference between revisions of "PHP Speichern, Editieren, Öffnen von Dateien"

From Coders.Bay Wiki
Jump to navigation Jump to search
 
(26 intermediate revisions by the same user not shown)
Line 63: Line 63:
?>
?>
</pre>
</pre>


=====Superglobale Variablen=====
=====Superglobale Variablen=====
'''Superglobals''' — Superglobals sind Built-in-Variablen (im Grunde genommen Arrays), die immer in allen Gültigkeitsbereichen (s.g. Scopes) verfügbar sind.<br>
'''Superglobals''' — Superglobals sind Built-in-Variablen, die immer in allen Gültigkeitsbereichen (s.g. Scopes) verfügbar sind.<br>
*Die, die ihr wahrscheinlich am häufigsten verwenden werdet, sind POST und GET.
*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''' und '''$_GET''' sind zwei verschiedene Methoden um Daten über einen HTTP request zu senden
**POST verwendet man um Daten an einen Server zu senden
**POST verwendet man um Daten an einen Server zu senden
**GET verwendet man um Daten von einem Server anzufordern
**GET verwendet man um Daten von einem Server anzufordern
*Hier eine kleine Unterscheidung zwischen GET und POST:


[[File:Get vs post infographic.jpg|500px]]<br>
[[PHP_Einführung_-_Theorie#Bestandteile eines HTTP Requests|Wiederholung Bestandteile eines HTTP Requests]]
src: https://www.javatpoint.com/get-vs-post<br>
 
======Weitere Superglobals======


*$_GET
*$_SESSION
*$_POST
*$_COOKIE
*$_REQUEST
*$_REQUEST
*$_SERVER
*$_SERVER

Latest revision as of 09:24, 8 June 2022

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