Arbeiten mit Dateien in PHP: Öffnen, Schreiben, Lesen. So lesen Sie Dateien mit PHP richtig. Schreiben und Lesen einer PHP-Datei

Unter Arbeiten mit Dateien in PHP impliziert Aus Datei lesen Und in Datei schreiben verschiedene Informationen. Es ist ziemlich offensichtlich, dass man viel mit Dateien arbeiten muss, also mit irgendwelchen PHP-Programmierer muss fähig sein zu aus Datei lesen Und in Datei schreiben.

Folge Arbeiten mit Dateien in PHP so was:

  1. Datei öffnen.
  2. Führen Sie die erforderlichen Aktionen aus.
  3. Schließen Sie die Datei.

Wie Sie sehen, ähnelt der Arbeitsablauf mit Dateien dem Arbeiten mit Dateien über einen normalen Explorer. Nur hier wird die gesamte Arbeit automatisch von uns selbst erledigt PHP-Skript.

Beginnen wir mit dem ersten Punkt – dem Öffnen der Datei. Die Datei wird mit geöffnet fopen()-Funktionen. Der erste Parameter ist der Dateipfad und der zweite Parameter ist Modifikator. Schauen wir uns gleich die möglichen Modifikatoren an:

  1. A– öffnet die Datei nur zum Schreiben, wobei der Zeiger am Ende der Datei platziert wird.
  2. a+ A, aber die Datei wird auch zum Lesen geöffnet.
  3. R– öffnet die Datei schreibgeschützt und der Zeiger wird auf den Anfang der Datei gesetzt.
  4. r+- dasselbe wie Modifikator R, aber die Datei wird auch zum Schreiben geöffnet.
  5. w- öffnet die Datei nur zum Schreiben, setzt den Zeiger auf den Anfang der Datei und löscht den gesamten Inhalt der Datei.
  6. w+- dasselbe wie Modifikator w, nur die Datei wird auch zum Lesen geöffnet.

Es gibt auch zwei Modi zum Arbeiten mit Dateien: binär(bezeichnet B) Und Text(bezeichnet T). Wenn Sie mit einer normalen Textdatei arbeiten, wählen Sie den Textmodus, und wenn Sie beispielsweise mit einem Bild arbeiten, wählen Sie den Binärmodus.

Dies sind alle grundlegenden Modifikatoren, die für Sie ausreichen. Jetzt lernen wir, wie man eine Datei schließt. Schließt die Datei mit fclose()-Funktionen.

Kommen wir nun zum Lesen der Datei mit fread()-Funktionen. Und lassen Sie mich Ihnen abschließend ein Beispiel geben:

$contents = "";
while (!feof($handle))
$contents .= fread($handle, 4096);
fclose($handle);
?>

In diesem Beispiel öffnen wir die Datei zunächst zum Lesen im Textmodus (Modifier rt). fopen()-Funktion gibt das sogenannte zurück Deskriptor, mit dem Sie mit der Datei kommunizieren und sie in eine Variable schreiben können handhaben. Dann sind wir in einer Schleife während() Bis das Ende der Datei erreicht ist, lesen wir jeweils den Inhalt 4096 Zeichen, die wir in die Variable schreiben Inhalt. Nachdem der Lesevorgang abgeschlossen ist, schließen Sie die Datei erneut unter Verwendung des Dateideskriptors.

Kommen wir nun zur Aufnahme mit fwrite()-Funktionen:

$handle = fopen("files/a.txt", "at");
$string = "Das ist Text";
fwrite($handle, $string);
fclose($handle);
?>

Nach dem Ausführen dieses Skripts in der Datei a.txt die Zeile „ wird hinzugefügt Das ist Text".

Besonders aufmerksame Leser haben auf die Hinweise geachtet, über die ich oben geschrieben habe. Zeiger- Dies ist die aktuelle Position des imaginären „Cursors“ in der Datei. Hier beginnt die Arbeit mit der Datei. Sie können die Position des Zeigers mit ändern fseek()-Funktionen:

$handle = fopen("files/a.txt", "rt");
echo $contents.“
";
fseek($handle, 0, SEEK_SET);
$contents = fread($handle, 3);
echo $contents.“
";
?>

Also lesen wir zuerst 3 Zeichen (dadurch wird die aktuelle Zeigerposition um verschoben 3 Positionen). Anschließend setzen wir den Zeiger auf den Anfang der Datei. Und wir lesen noch einmal 3 Symbol. Wie Sie vielleicht schon erraten haben, haben wir dasselbe zweimal gezählt. Das ist das erste Mal 3 Symbol, ging dann zurück und zählte erneut 3 Symbol. Auch wenn Sie fseek()-Funktionen ersetzen SEEK_SET An SEEK_CUR, dann legt der zweite Parameter nicht die Zeigerposition fest, sondern verschiebt ihn relativ zur aktuellen Position. Ich rate Ihnen sogar, mit Zeigern zu üben, da es nicht so einfach zu verstehen ist. Ich empfehle außerdem, zu versuchen, an der Zeigerposition etwas in die Datei zu schreiben, beispielsweise ganz am Anfang der Datei. Und erläutern Sie unbedingt Ihre Ergebnisse.

Und zum Schluss möchte ich noch ein paar Funktionen nennen, die es Ihnen ermöglichen, auf einfachstem Niveau mit Dateien zu arbeiten: file_put_contents() Und file_get_contents(). Funktion file_put_contents() schreibt in eine Datei und die Funktion file_get_contents() liest Inhalte aus einer Datei. Diese Funktionen sind sehr einfach zu bedienen, es gibt jedoch weniger Optionen (obwohl sie in der Regel nicht benötigt werden):

file_put_contents("files/a.txt", "Das ist Text 2");
echo file_get_contents("files/a.txt");
?>

In diesem Skript haben wir zuerst die Zeile geschrieben „ Das ist Text 2" in eine Datei, und dann lesen wir den resultierenden Inhalt und geben ihn aus. Wie Sie sehen, ist es schwierig, einen einfacheren Weg zu finden Aus Datei lesen Und in Datei schreiben.

Das sind alle wesentlichen Punkte Arbeiten mit Dateien in PHP.

MySQL- und Access-Datenbanken werden zunehmend zu öffentlich verfügbaren Datenspeichertools. Aber in den frühen 1990er Jahren war die Arbeit mit Dateien in PHP populär, wobei Datensätze in durch Zeilenumbrüche getrennten CSV-formatierten Textdateien gespeichert wurden.

Grundlegende Funktionsprinzipien

Datenbanken sind praktisch, aber jeder Entwickler sollte zumindest über Grundkenntnisse im Lesen und Schreiben von Dateien verfügen. Viele Menschen denken möglicherweise über die Frage nach: „Warum muss ich das wissen?“ Wenn ich Dateien verwende, sind sie in XML geschrieben und ich verwende einfach den Parser.

Hier sind einige Gründe, warum Sie möglicherweise Dateien benötigen:

  1. Zum Verschieben von Binärdaten (z. B. Bilddateien) in eine BLOB-Datenbank (Binary Large Object).
  2. Importieren Sie Daten (z. B. E-Mail-Adressen), die aus einer älteren Datenbank oder Anwendung exportiert wurden.
  3. Exportieren von Informationen aus einer Datenbank in eine Textdatei zur Offline-Verarbeitung.

Das Lesen von Dateien und das Schreiben sind grundlegende Vorgänge. Wenn Sie ein Dokument lesen möchten, müssen Sie es zunächst öffnen. Danach sollten Sie so viel wie möglich vom Inhalt lesen und dann die Datei schließen. Um Informationen in ein Dokument zu schreiben, müssen Sie es zuerst öffnen (oder vielleicht erstellen, falls es noch nicht erstellt wurde). Erfassen Sie anschließend die erforderlichen Daten und schließen Sie sie nach Abschluss.

Bequem ist es auch, die integrierten Funktionen zum automatischen Öffnen und Schließen zu nutzen. Sie sind in PHP5 verfügbar. Sie sollten sich auch mit den Dateiattributen, also ihren Eigenschaften, vertraut machen.

Sie können sagen:

  • über die Größe;
  • Geben Sie Auskunft darüber, wann er das letzte Mal kontaktiert wurde.
  • Erzählen Sie vom Besitzer usw.

Am besten lernen Sie alle grundlegenden Attribute für die Arbeit mit Dateien in PHP. Dies wird die Arbeit erheblich erleichtern.

Dokumentenhistorie

Möglicherweise müssen Sie herausfinden, wann die Datei zuletzt bearbeitet wurde. In diesem Fall helfen die Funktionen fileatime(), filemtime() und filectime().

"; echo $file . " hatte zuletzt i-node geändert " . date($formatDate, $timeM) . ".
"; echo $file . " wurde geändert " . date($formatDate, $timeC) . ".";

Hier ist der Code, der den Zeitstempel des letzten Zugriffs abruft und anzeigt:

  • C: Auf Windowsfile.ini wurde am 19. September 2018 um 16:34 Uhr zugegriffen.
  • C: Windowsfile.ini wurde am Freitag, 8. Okt. 2018, 2:03 Uhr geändert.
  • C: Windowsfil.ini wurde am Dienstag, 16. Dezember 2017, 4:34 Uhr geändert.

Die Funktion filectime() zeigt die Änderungszeit verschiedener mit einer Datei verknüpfter Informationen (z. B. Berechtigungen) und filemtime() zeigt die Änderungszeit der Datei selbst an.

Die Funktion date() wurde verwendet, um den von den Funktionen file*time() zurückgegebenen Unix-Zeitstempel zu formatieren.

Datei oder nicht?

Um herauszufinden, ob in PHP tatsächlich eine Dateimanipulation stattfindet, können Sie mit der Funktion is_file() oder der Funktion is_dir() prüfen, ob es sich um ein Verzeichnis handelt.

"; echo $file . (is_dir($file) ? " " : " not") . " Verzeichnis.";

Beispielcode-Ausgabe:

  • C: Windowsfile.ini-Datei.
  • C: Windowsfile.ini ist kein Verzeichnis.

So vermeiden Sie Fehler und öffnen nicht fahrlässig eine „Nicht-Datei“. In PHP ist die Arbeit mit Dateien und Verzeichnissen ähnlich.

Dateiberechtigungen

Bevor Sie mit einer Datei arbeiten, können Sie prüfen, ob diese lesbar oder beschreibbar ist. Dazu müssen Sie die Funktionen is_writable() und is_readable() verwenden.

"; echo $file . (is_writable($file) ? " " : " not") . " wird geschrieben.";

Diese Funktionen geben einen booleschen Wert zurück und erklären, ob der Vorgang für die Datei ausgeführt werden kann.

Der Code gibt die folgenden Werte auf dem Bildschirm aus:

  • C: Windowsfile.ini wird gelesen.
  • C: Windowsfile.ini wurde nicht geschrieben.

Mit dem ternären Operator können Sie angeben, ob auf eine Datei zugegriffen werden kann oder nicht.

Dateigröße

Um die Dateigröße herauszufinden, müssen Sie die Funktion filesize() verwenden. Es wird in Bytes angezeigt.

Die Funktion zeigt Folgendes an:

  • C: Windowsfile.ini ist 510 Byte groß.

Die Verwendung der Datei auf einem Windows-System verdeutlicht hier einen Punkt. Der Backslash hat als Escape-Zeichen eine besondere Bedeutung. Sie müssen dies umgehen, indem Sie einen weiteren Backslash hinzufügen.

Wenn die Datei noch nicht erstellt wurde, meldet die Funktion filesize() „False“ und einen Fehler. Daher überprüfen sie zunächst die Datei auf das Vorhandensein des erforderlichen Befehls file_exists().

Die Prüfung file_exists() sollte aus Sicherheitsgründen fast immer aktiviert sein.

Dateien lesen

Im vorherigen Abschnitt wurde gezeigt, wie viel Sie über die Dateien, mit denen Sie arbeiten, erfahren können, bevor Sie mit dem Lesen oder Schreiben in sie beginnen. Jetzt können Sie herausfinden, wie der Inhalt der Datei gelesen wird.

Funktionen zum Arbeiten mit PHP-Dateien erleichtern die Arbeit. In diesem Fall benötigen Sie file_get_contents(). Der gesamte Inhalt der Datei wird in eine Variable eingelesen, ohne dass Sie die Datei selbst öffnen oder schließen müssen. Dies ist praktisch, wenn das Aufzeichnungsvolumen relativ klein ist, da das sofortige Einlesen von 1 GB Daten in ein Archiv in PHP nicht immer sinnvoll ist. Das Arbeiten mit „.ini“-Dateien und der Funktion file_get_contents() wird unten gezeigt.

Bei größeren Dateien oder einfach je nach den Anforderungen Ihres Skripts kann es sinnvoller sein, sich selbst um die Details zu kümmern. Denn sobald die Datei geöffnet ist, können Sie sie nach einer bestimmten Notiz durchsuchen und so viele Daten lesen, wie Sie möchten. Die Funktion fopen() wird zum Öffnen einer Datei verwendet.

Die Funktion fopen() erfordert zwei Argumente:

  • die zu öffnende Datei;
  • Der in diesem Fall verwendete Modus ist „r“ zum Lesen.

Die Funktion gibt ein Handle oder einen Stream zu einer Datei zurück, die in der Variablen $file1 gespeichert ist. Es muss in allen nachfolgenden Befehlen verwendet werden, wenn mit der Datei gearbeitet wird.

Um zeilenweise aus einer geöffneten Datei zu lesen, können Sie die Funktion fgets() verwenden.

";) while (!feof($file1)); fclose($file1);

Um vorab herauszufinden, wie viele Zeilen eine Datei enthält, bietet sich die Verwendung einer Do-While-Schleife an. Die Funktion feof() prüft, ob die Datei den Abschluss erreicht hat, und die Schleife wird fortgesetzt, bis das Ende der Datei erreicht ist. Nachdem der Lesevorgang abgeschlossen ist, wird die Funktion fclose() zum Schließen des Dokuments verwendet.

Aufnahmedateien

Zwei häufig verwendete Modi beim Schreiben in eine Datei mit der Funktion fwrite() sind „w“ und „a“. „W“ bedeutet, was in das Dokument geschrieben werden muss, aber zunächst wird jeglicher Inhalt gelöscht. „a“ bedeutet, dass neue Daten zu den bereits in der Datei vorhandenen Daten hinzugefügt werden. Sie müssen sicherstellen, dass die richtige Option verwendet wird.

Im folgenden Beispiel wird der Aufnahmemodus „a“ verwendet.

Zuerst wird der Dateiname einer Variablen zugewiesen, dann wird sie im „a“-Modus zum Anhängen geöffnet. Die zu schreibenden Daten werden der Variablen $output und fwrite() zugewiesen und die Informationen werden der Datei hinzugefügt. Der Vorgang wird wiederholt, um eine weitere Zeile hinzuzufügen. Anschließend wird das Dokument mit fclose() geschlossen.

Die vordefinierte Konstante PHP_EOL fügt ein Newline-Zeichen hinzu, das für die Plattform spezifisch ist, auf der PHP mit Textdateien ausgeführt wird.

Der Inhalt der Datei sollte nach der Ausführung des obigen Codes wie folgt aussehen:

  • Banane;
  • China.

Die Funktion file_put_contents() kann auch in eine Datei schreiben. Es benötigt den Namen der Datei, die zu schreibenden Daten und die Konstante FILE_APPEND, wenn Daten angehängt werden sollen (überschreibt den Standardinhalt der Datei).

Hier ist das gleiche Beispiel wie oben, dieses Mal jedoch mit file_put_contents().

Sie müssen häufig mit diesen Funktionen arbeiten, deshalb ist es besser, sie sich zu merken. Darüber hinaus könnten sie eines Tages einige komplexe Aufgaben bei der Arbeit mit PHP-Dateien erleichtern.

Letzte Aktualisierung: 01.11.2015

Wie die meisten Programmiersprachen unterstützt PHP die Arbeit mit Dateien, die eine Möglichkeit zum Speichern von Informationen darstellen.

Dateien lesen und schreiben

Dateien öffnen und schließen

Um Dateien in PHP zu öffnen, ist die Funktion fopen() definiert. Es hat die folgende Definition: Ressource fopen(string $filename, string $mode) . Der erste $filename-Parameter stellt den Pfad zur Datei dar und der zweite ist der Öffnungsmodus. Abhängig vom Zweck des Öffnens und der Art der Datei kann dieser Parameter folgende Werte annehmen:

    „r“: Die Datei wird schreibgeschützt geöffnet. Wenn die Datei nicht existiert, wird „false“ zurückgegeben

    „r+“: Die Datei wird schreibgeschützt und schreibgeschützt geöffnet. Wenn die Datei nicht existiert, wird „false“ zurückgegeben

    „w“: Die Datei wird zum Schreiben geöffnet. Existiert eine solche Datei bereits, wird sie überschrieben, andernfalls wird sie erstellt.

    „w+“ : Die Datei wird zum Schreiben geöffnet und ist lesbar. Existiert eine solche Datei bereits, wird sie überschrieben, andernfalls wird sie erstellt.

    „a“: Die Datei wird zum Schreiben geöffnet. Wenn eine solche Datei bereits vorhanden ist, werden die Daten an das Ende der Datei geschrieben und die alten Daten bleiben erhalten. Wenn die Datei nicht existiert, wird sie erstellt

    „a+“ : Die Datei wird zum Lesen und Schreiben geöffnet. Wenn die Datei bereits vorhanden ist, werden die Daten an das Ende der Datei angehängt. Wenn die Datei nicht existiert, wird sie erstellt

Die Ausgabe der fopen-Funktion ist ein Dateideskriptor. Dieses Handle wird für Dateioperationen und zum Schließen der Datei verwendet.

Nach Abschluss der Arbeiten muss die Datei mit der Funktion fclose() geschlossen werden, die einen Dateideskriptor als Parameter akzeptiert. Lassen Sie uns zum Beispiel eine Datei öffnen und schließen:

$fd = fopen("form.php", "r") or die("Datei konnte nicht geöffnet werden"); fclose($fd);

Das Konstrukt or die("error text") ermöglicht es dem Skript, die Ausführung zu stoppen und eine Fehlermeldung anzuzeigen, wenn die Funktion fopen die Datei nicht öffnen konnte.

Eine Datei lesen

Sie können mehrere Funktionen verwenden, um eine Datei zu lesen. Zum zeilenweisen Lesen wird die Funktion fgets() verwendet, die einen Dateideskriptor empfängt und eine gelesene Zeile zurückgibt. Gehen wir die gesamte Datei Zeile für Zeile durch:

Bei jedem Aufruf von fgets() platziert PHP den Zeiger am Ende der gelesenen Zeile. Um das Ende einer Datei zu verfolgen, wird die Funktion feof() verwendet, die true zurückgibt, wenn die Datei abgeschlossen ist. Und bis das Ende der Datei erreicht ist, können wir die Funktion fgets() verwenden.

Lesen der gesamten Datei

In diesem Fall müssen wir die Datei nicht explizit öffnen, ein Handle abrufen und die Datei dann schließen.

Lesen blockieren

Sie können auch einen blockweisen Lesevorgang durchführen, d. h. eine bestimmte Anzahl von Bytes aus einer Datei lesen, indem Sie die Funktion fread() verwenden:

Die Funktion fread() benötigt zwei Parameter: das zu lesende Dateihandle und die Anzahl der zu lesenden Bytes. Wenn ein Block gelesen wird, bewegt sich der Zeiger in der Datei zum Ende dieses Blocks. Und auch mit der Funktion feof() können Sie die Fertigstellung einer Datei verfolgen.

Schreiben Sie eine Datei

Um eine Datei zu schreiben, verwenden Sie die Funktion fwrite(), die die folgende Zeile in die Datei schreibt:

Eine andere fputs()-Funktion funktioniert ähnlich:

Arbeiten mit dem Dateizeiger

Beim Öffnen einer Datei zum Lesen oder Schreiben im „w“-Modus wird der Zeiger in der Datei an den Anfang gesetzt. Beim Lesen von Daten verschiebt PHP den Zeiger in der Datei an das Ende des gelesenen Datenblocks. Wir können den Zeiger in der Datei jedoch auch manuell manipulieren und ihn an eine beliebige Stelle setzen. Dazu müssen Sie die Funktion nutzen fseek, die die folgende formale Definition hat:

Int fseek (Ressource $handle, int $offset [, int $whence = SEEK_SET])

Der Parameter $handle stellt ein Dateihandle dar. Der Parameter $offset ist der Offset in Bytes relativ zum Anfang der Datei, ab dem das Lesen/Schreiben beginnt. Der dritte optionale Parameter gibt an, wie der Offset eingestellt wird. Es kann drei Werte annehmen:

    SEEK_SET: Standardwert, legt den Offset in Offset-Bytes relativ zum Anfang der Datei fest

    SEEK_CUR: Legt den Offset in Offset-Bytes relativ zum Anfang der aktuellen Position in der Datei fest

    SEEK_END: ​​Setzt den Offset auf Offset-Bytes vom Ende der Datei

Wenn der Zeiger erfolgreich installiert wurde, gibt die Funktion fseek() 0 zurück, und wenn der Zeiger nicht erfolgreich ist, gibt sie -1 zurück.

Beispiel für die Verwendung der Funktion:

$fd = fopen("hello.txt", "w+") or die("Datei konnte nicht geöffnet werden"); $str = "Hallo Welt!"; // Zu schreibende Zeile fwrite($fd, $str); // schreibe die Zeile an den Anfang fseek($fd, 0); // den Dateizeiger am Anfang platzieren fwrite($fd, "Oink"); // schreibe die Zeile am Anfang fseek($fd, 0, SEEK_END); // Platziere den Zeiger am Ende fwrite($fd, $str); // am Ende eine weitere Zeile schreiben fclose($fd);

Und jetzt gibt es eine ziemlich umfangreiche, aber nicht komplizierte Lektion über die Arbeit mit Dateien in PHP. Zunächst einmal: Wozu dienen die Dateien? Schließlich können Sie alles in einer MySQL- oder PostgreSQL-Datenbank oder einer anderen Datenbank speichern. Aber manchmal gibt es Aufgaben, bei denen die Verwendung einer Datenbank mit all dem Verarbeitungsaufwand und der Sorge um die Verbindungssicherheit nicht ratsam ist. Zum Beispiel müssen wir einen regulären Zähler erstellen, aber zuvor haben wir im Projekt keine Datenbank verwendet. Sollten wir also für einen winzigen Zähler eine Datenbank erstellen und nur ein paar Zeilen darin speichern? Es ist hier viel einfacher, Dateien zu verwenden. Darüber hinaus unterstützt das Hosting manchmal überhaupt keine Datenbanken, dann sind Dateien in der Regel die einzige Option.

Nehmen wir an, ich habe Sie davon überzeugt, dass die Dateien notwendig sind :) Jetzt wollen wir herausfinden, wie man mit ihnen arbeitet. Wie man erstellt, öffnet, schreibt, überschreibt, liest und so weiter. Das wichtigste zuerst.

Erstellen Sie eine Datei

PHP verwendet die Funktion fopen, um Dateien zu öffnen. Es können jedoch auch Dateien erstellt werden. Wenn Sie fopen einen Dateinamen übergeben, der nicht existiert, wird er erstellt.

Die fopen-Funktion selbst benötigt zwei Parameter, die beide erforderlich sind. Zuerst müssen wir den Namen der Datei angeben, die wir öffnen möchten. Zweitens übergeben Sie einen Parameter, der der Funktion mitteilt, was wir mit dieser Datei vorhaben (z. B. aus der Datei lesen, schreiben usw.).

Wenn wir eine Datei erstellen müssen, geben wir ihren Namen an und übergeben den Parameter, in den wir Daten schreiben möchten. Hinweis: Wir müssen PHP unbedingt mitteilen, was wir in die Datei schreiben, sonst wird keine neue Datei erstellt.

Beispiel:

$ourFileName = "testFile.txt";

$ourFileHandle = fopen($ourFileName, "w") or die("Datei kann nicht geöffnet werden");

fclose($ourFileHandle);

Die erste Zeile $ourFileName = testFile.txt erstellt eine String-Variable, in der wir den Dateinamen speichern.

Die zweite Zeile $ourFileHandle = fopen($ourFileName, ‚w‘) bzw. die(„Datei kann nicht geöffnet werden“) erstellt bzw. öffnet eine vorhandene Datei zum Schreiben. Oder es gibt eine Meldung zurück, dass die Datei nicht geöffnet werden kann.

Die dritte Zeile fclose($ourFileHandle) schließt die Datei. Es ist eigentlich einfach.

Optionen zum Öffnen von Dateien in PHP

Der erste Parameter „r“ (read) – öffnet die Datei nur zum Lesen; Sie können nicht darauf schreiben.

Der zweite Parameter „w“ (write) – öffnet sich zum Schreiben. In diesem Fall beginnt die Aufnahme immer am Anfang der Datei. Sollten dort bereits Informationen vorhanden sein, werden diese überschrieben.

Der dritte Parameter „a“ (append) – öffnet die Datei zum Schreiben, hängt aber im Gegensatz zu w an das Ende der Datei an.

Erweiterte Optionen:

Parameter „r+“ – öffnet sich sowohl zum Lesen als auch zum Schreiben. Der Zeiger befindet sich am Anfang der Datei.

Parameter „w+“ – öffnet sich sowohl zum Lesen als auch zum Schreiben, löscht ABER alle Informationen, die in der Datei waren!!!

Parameter 'a+' – öffnet sich zum Lesen und Schreiben, aber der Zeiger befindet sich am Ende der Datei.

Natürlich kann einer Funktion nur einer dieser Parameter übergeben werden und nicht mehrere. Sie müssen durch „X“ ersetzt werden:

fopen($ourFileName, "X")

In Datei schreiben

Nun haben wir die Datei geöffnet und den benötigten Parameter ausgewählt. Was kommt als Nächstes? Sie müssen etwas hineinschreiben. Wie kann man das machen? Verwenden der Funktion fwrite, die als Parameter einen Zeiger auf eine Datei und eine Textzeile akzeptiert, die wir schreiben möchten. Beispiel:

$myFile = "testFile.txt";

$fh = fopen($myFile, "w") or die("Datei kann nicht geöffnet werden");

$stringData = "Erste Zeile";

fwrite($fh, $stringData);

$stringData = "Zweite Zeile";

fwrite($fh, $stringData);

Wir haben eine Datei testFile.txt erstellt, der Zeiger darauf wird in der Variablen $fn gespeichert. Wir haben die Zeile „Erste Zeile“ hineingeschrieben (am Ende haben wir das Zeilenendezeichen n verwendet) und dann „Zweite Zeile“. Dann schlossen sie die Akte.

AUFMERKSAMKEIT! Vergessen Sie nie, Ihre Dateien zu schließen! Andernfalls werden die Daten in den Dateien nicht gespeichert, wenn die Skriptausführung abnormal abbricht! Nach der Arbeit immer fclose verwenden!!!

Aus einer Datei lesen

Wir haben es aufgeschrieben, jetzt lesen wir es! Es ist auch nicht so schwierig. Wir verwenden die fread-Funktion. Als Eingabe geben wir einen Zeiger auf die Datei und die Anzahl der Bytes, die wir lesen möchten. Beispielsweise entspricht ein Zeichen einem Byte (abhängig von der Kodierung), wir möchten 5 Zeichen lesen: $theData = fread($fh, 5).

Wenn wir jedoch alle Informationen benötigen, die in der Datei enthalten sind, benötigen wir die Funktion „filesize“, die die Anzahl der Bytes in der Datei zurückgibt. Wenn wir also das Ergebnis der Funktion „filesize“ an fread übergeben, erhalten wir Folgendes: Alle Informationen aus der Datei:

$myFile = "testFile.txt";

$fh = fopen($myFile, "r");

$theData = fread($fh, filesize($myFile));

Ich hoffe, ich habe es klar erklärt.

$myFile = "testFile.txt";

$fh = fopen($myFile, "r");

$theData = fgets($fh);

Als Ergebnis erhalten wir die erste Zeile aus der Datei testFile.txt. Um alle Zeilen durchzugehen, müssen Sie dementsprechend eine foreach-Schleife verwenden:

$lines = file("testFile.txt");

foreach($lines as $single_line)

echo $single_line . "
N";

Jetzt haben Sie gelernt, wie Sie Dateien zum Lesen, Schreiben oder beidem öffnen. Schreiben Sie Daten hinein oder hängen Sie sie mit „Anhängen“ an den Anfang und lesen Sie auch Informationen aus ihnen aus.

Wenn Sie lernen, selbst mit PHP zu arbeiten, ist es wichtig zu lernen, wie man Daten aus einer Datei liest und Änderungen daran vornimmt. Die Aufzeichnung in der PHP-Datei erfolgt für die Entwicklung von Webanwendungen, Änderungen an Serverinformationen und den Start externer Programme und Einbindungen.

So arbeiten Sie mit PHP-Dateien

Wenn eine Datei eine solche Erweiterung hat, bedeutet das, dass sie Programmcode enthält, der in der gleichnamigen Programmiersprache geschrieben ist. Um Änderungen vorzunehmen, müssen Sie einen der Software-Editoren auf Ihrem PC installieren:

PHP-Experteneditor;
. Traumweber;
. Eclipse PHP-Entwicklung;
. PHPEdit.

Wenn Sie eine Website erstellen, müssen Sie häufig identische Designs verwenden, die praktischerweise als Vorlagen in einer anderen Datei gespeichert werden. Hierfür ist es besser, include zu verwenden. Nachdem Sie diese Funktion aufgerufen haben, müssen Sie den Namen und die Erweiterung der Verbindung in die PHP-Datei schreiben, z. B. include 1.php. Dieses Design unterstützt mehrere Lesungen der enthaltenen Datei und ein zusätzliches Merkmal ist die Kontinuität der Codeausführung im Fehlerfall. Wenn etwas schief geht, wird der Code ab einer neuen Zeile weiter ausgeführt.
Auf diese Weise fügen Sie die Datei in Ihren Code ein. Eine andere Möglichkeit ist die Eingabe von require. Im Gegensatz zum oben beschriebenen Include wird die Datei eingebunden, bevor der Programmcode ausgeführt wird, Sie können jedoch nur einmal darauf zugreifen.

Dateiüberprüfung

Bevor Sie in eine PHP-Datei schreiben, müssen Sie sicherstellen, dass sie vorhanden ist, sie dann öffnen und die erforderlichen Bearbeitungen vornehmen. Dazu können Sie die Funktion file_exists() verwenden; wenn diese die Anwesenheit bestätigt, wird im Editorfenster die Antwort TRUE zurückgegeben, andernfalls - FALSE.
Eine weitere Funktion is_file() kann Sie darüber informieren, dass es möglich ist, Daten in eine PHP-Datei zu schreiben. Es ist zuverlässiger als file_exits und die meisten Programmierer verwenden is_file, um zu beginnen. Sobald Sie überprüft haben, dass die Datei vorhanden ist, können Sie mit der Arbeit beginnen.

Änderungen an einer Datei vornehmen

Das erste Tool, mit dem Sie Änderungen an einer Datei vornehmen können, ist fwrite(). Es schreibt Zeilen mit der folgenden Syntax:

Int – Manipulator;
. String ist eine Variable.

Es gibt eine weitere ähnliche Funktion – fputs(), bei der es sich um einen Alias ​​handelt. Es gibt keine Unterschiede zwischen diesen Tools; Sie können sich für das eine oder das andere entscheiden. Bei Studenten ist fwrite häufiger anzutreffen, während praktizierende Programmierer am häufigsten fputs verwenden.

Um einen PHP-Eintrag in eine Textdatei zu machen, muss eine wichtige Bedingung erfüllt sein – sie muss zur Bearbeitung geöffnet sein. Diese Datei muss sich in einem Ordner mit Schreibrechten befinden.

Versuchen Sie zunächst, ein Textdokument im Programm zu öffnen und dann mit normalen Werkzeugen Änderungen vorzunehmen.

// Eine Textdatei öffnen
$f = fopen("text.txt", "w");
// Eine Textzeichenfolge schreiben
fwrite($f, „Hallo! Guten Tag!“);
// Textdatei schließen
fclose($f);

In diesem Beispiel ist text.txt der Dokumentname. Man kann es anders nennen: „Hallo! Guten Tag! - ein Beispieltext, er kann völlig beliebig sein. Alle Änderungen werden automatisch in der geöffneten Datei gespeichert.

Beachten Sie, dass PHP für allgemeine Zwecke geeignet ist. Es wird intensiv zur Erstellung von Webanwendungen eingesetzt. Diese Lösung wird von den meisten Hosting-Anbietern unterstützt. Wir sprechen über den Spitzenreiter unter den Tools, die zum Erstellen von Websites verwendet werden. Jetzt wissen Sie, wie man in eine PHP-Datei schreibt.