Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP

Erstellen, Schreiben, Lesen und Löschen von Dateien in PHP

by
Difficulty:BeginnerLength:MediumLanguages:

German (Deutsch) translation by Ines Willenbrock (you can also view the original English article)

In diesem Tutorial lernen wir die Verarbeitung von Dateien in PHP. Ich zeige Ihnen, wie Sie Dateien in PHP erstellen, lesen, schreiben und löschen, indem Sie die integrierten Dateiverarbeitungsfunktionen verwenden.

Dateiverarbeitung ist etwas, das Sie als PHP-Entwickler sehr oft tun müssen.

Sie können PHP-Dateibearbeitungsfunktionen verwenden, um Dateien auf unterschiedliche Weise zu bearbeiten. Diese Funktionen können verwendet werden, um Features in Ihren Anwendungen zu erstellen, die von der benutzerdefinierten Fehlerprotokollierung bis zum Speichern gecacheter Dateien reichen. Beispiele für Dienstprogramme, die Sie mit diesen Funktionen erstellen können, sind:

  • Benutzerdefinierte Protokollierungs- und Debugging-Tools
  • Anwendungskonfigurationsspeicher
  • Front-End- und Anwendungscaching
  • Lokalisierungsunterstützung
  • und vieles mehr

PHP bietet mehrere Dateibearbeitungsfunktionen, mit denen Sie verschiedene Operationen ausführen können, z. B.:

  • Erstellen und Öffnen einer Datei
  • In eine Datei schreiben
  • Aus einer Datei lesen
  • Löschen einer Datei
  • Schließen einer Datei

Heute besprechen wir jeden einzelnen Dateivorgang, zusammen mit Beispielen für deren Verwendung. Ich möchte Sie ermutigen, die Beispiele in diesem Tutorial auszuprobieren, während Sie mitlesen, damit Sie tatsächlich lernen und verstehen können, wie sie funktionieren. Und wenn etwas für Sie nicht wie erwartet funktioniert, zögern Sie nicht, Ihre Anfragen zu veröffentlichen, indem Sie den Feed am Ende dieses Tutorials verwenden.

Erstellen und Öffnen einer Datei

In diesem Abschnitt erfahren Sie, wie Sie eine Datei erstellen und öffnen.

Wenn es darum geht, eine Datei zu erstellen, ist es die fopen-Funktion, die Sie am Ende die meiste Zeit verwenden werden. Es mag etwas verwirrend erscheinen, die fopen-Funktion zum Erstellen einer Datei zu verwenden. Tatsächlich führt die fopen-Funktion zwei Dinge aus: Sie erstellt eine Datei, wenn sie nicht existiert, und öffnet sie auch zum Lesen oder Schreiben.

Lassen Sie uns das folgende Beispiel durchgehen, um zu verstehen, wie es funktioniert.

Im obigen Beispiel überprüft die fopen-Funktion, ob die Datei /home/tutsplus/files/tmp.txt vorhanden ist, und wenn sie vorhanden ist, wird sie zum Schreiben geöffnet. Indem wir im zweiten Argument "w" angeben, geben wir an, dass wir in die Datei schreiben. Wenn die Datei nicht vorhanden ist, wird sie sofort erstellt. Es ist wichtig, hier zu beachten, dass das Verzeichnis /home/tutsplus/files/ im obigen Beispiel vom Webserverbenutzer beschreibbar sein muss, damit die fopen-Funktion eine Datei erstellen kann.

Das erste Argument der fopen-Funktion ist der Dateiname, den Sie öffnen möchten. Im obigen Beispiel haben wir den Dateinamen /home/tutsplus/files/tmp.txt im ersten Argument angegeben. Auch hier ist es wichtig zu beachten, dass wir einen absoluten Pfadnamen angegeben haben.

Das zweite Argument ist der Modus, der den Typ des Zugriffs an gibt, den Sie auf die geöffnete Datei benötigen. Die fopen-Funktion bietet verschiedene Modi, aus denen Sie wählen können. Zum Beispiel:

  • Verwenden Sie den r-Modus, um eine Datei zum Lesen zu öffnen
  • der r+-Modus für Lesen und Schreiben
  • den a-Modus zum Lesen und Anhängen

In unserem Beispiel haben wir den w-Modus verwendet, der die Datei /home/tutsplus/files/tmp.txt nur zum Schreiben öffnet. Fühlen Sie sich frei, durch die offizielle Dokumentation zu gehen, um verschiedene Modi zu sehen, die von der fopen-Funktion unterstützt werden.

fopen gibt einen Dateisystemzeiger zurück, der für die anderen Dateifunktionen wie Lesen und Schreiben verwendet wird.

Wie kann ich Remote-Dateien öffnen?

Die fopen-Funktion ist nicht nur für lokale Dateien geeignet. Sie unterstützt auch andere Protokolle und kann Dateien von einer anderen Stelle in Ihrem Netzwerk oder im Web öffnen. Wenn Sie die allow_url_fopen-Direktive in PHP aktiviert haben, können Sie auch entfernte Dateien öffnen.

Es ist wirklich wichtig zu beachten, dass Sie, wenn Sie die allow_url_fopen-Direktive aktivieren, einige Sicherheitsrisiken verursachen, da sie die Tür für Remote-Dateiausführung und andere Angriffe öffnet. Stellen Sie also sicher, dass Sie zusätzliche Sicherheitsmaßnahmen in Ihrer Anwendung ergreifen, wenn Sie diese Richtlinie aktivieren möchten.

Wie man in eine Datei mit PHP schreibt

Es gibt ein paar verschiedene Möglichkeiten, wie Sie in eine Datei mit PHP schreiben können.

Die fwrite-Funktion

An erster Stelle steht die fwrite-Funktion, mit der Sie Zeichenfolgeninhalte in den Dateistream schreiben können, auf den vom Dateihandle verwiesen wird. Lassen Sie uns das folgende Beispiel durchgehen, um zu verstehen, wie es funktioniert.

Zuerst haben wir die Datei /home/tutsplus/files/tmp.txt mit dem a+-Modus geöffnet, der sie zum Lesen und Schreiben öffnet, wobei der Dateizeiger am Ende der Datei platziert wird. So werden unsere Inhalte nach allen anderen Inhalten an das Ende der Datei angehängt. Als Nächstes haben wir die fwrite-Funktion verwendet, um eine Zeichenfolge zu schreiben.

Das erste Argument der fwrite-Funktion ist der Dateisystemzeiger, der von fopen zurückgegeben wird – so weiß fwrite, wohin geschrieben werden soll. Und das zweite Argument ist eine Zeichenfolge, die wir in eine Datei schreiben möchten. Wie Sie im obigen Beispiel sehen können, können Sie die fwrite-Funktion mehrmals verwenden, um eine Reihe von Zeichenfolgen zu schreiben, bevor Sie die Datei schließen.

Schließlich haben wir die Funktion fclose verwendet, um die Datei zu schließen. Es braucht nur ein Argument, den Dateizeiger, den Sie schließen möchten. Es ist immer eine gute Methode, Dateien zu schließen, indem Sie die fclose-Funktion verwenden, sobald Sie mit Ihren Dateioperationen fertig sind.

Die file_put_contents-Funktion: Ein PHP-Shortcut zum Schreiben in Dateien

Im vorherigen Abschnitt haben wir die fwrite-Funktion besprochen, die zum Schreiben in eine Datei verwendet wird. Sie hätten bemerkt, dass Sie, wenn Sie in eine Datei schreiben möchten, sie zunächst mit der fopen-Funktion öffnen müssen. Danach müssen Sie die fwrite-Funktion verwenden, um Ihre Daten in eine Datei zu schreiben, und schließlich müssen Sie die fclose-Funktion verwenden, um die Datei zu schließen.

Wenn ihnen das zu viel anhört, gibt es eine Abkürzung: file_put_contents. Mit der Funktion file_put_contents können Sie in einem einzelnen Aufruf Daten in eine Datei schreiben.

Mal sehen, wie es funktioniert.

Das erste Argument der file_put_contents-Funktion ist ein Dateiname, und das zweite Argument ist eine Zeichenfolge, die Sie in eine Datei schreiben möchten. Wenn die Datei nicht vorhanden ist, wird sie erstellt.

Wie Sie sehen können, ist die file_put_contents Funktion eine Abkürzung, wenn Sie nur ein Stück Daten in eine Datei schreiben möchten.

Wie man aus einer Datei in PHP liest

Jetzt wissen Sie, wie Sie eine Datei erstellen und in eine Datei schreiben. In diesem Abschnitt zeige ich Ihnen, wie Sie aus einer Datei lesen.

Die fread-Funktion

Mit der fread-Funktion können Sie aus einer Datei lesen. Sie ist ähnlich wie fwrite, aber Sie müssen die Länge in Bytes angeben, die Sie lesen möchten.

Werfen wir einen Blick auf das folgende Beispiel, um zu verstehen, wie es funktioniert.

Da wir aus der Datei /home/tutsplus/files/tmp.txt lesen möchten, haben wir sie mit dem r-Modus geöffnet. Als Nächstes haben wir die fread-Funktion verwendet, um den gesamten Inhalt der Datei in die $content-Variable zu lesen.

Das erste Argument der fread-Funktion ist der Dateisystemzeiger, so dass sie weiß, woher sie lesen kann. Das zweite Argument ist die Länge in Bytes, die Sie aus einer Datei lesen möchten. In unserem Fall möchten wir den gesamten Inhalt der Datei /home/tutsplus/files/tmp.txt lesen, und daher haben wir die filesize-Funktion verwendet, um die Größe der Datei zu ermitteln.

Die file_get_contents-Funktion: Ein PHP-Shortcut zum Lesen aus Dateien

Im vorherigen Abschnitt haben wir die fread-Funktion besprochen, mit der Sie eine Datei lesen können, indem Sie die Länge in Bytes angeben, die Sie lesen möchten. Wenn Sie eine ganze Datei auf einmal lesen möchten, gibt es eine Funktion, mit der Sie genau das tun können: file_get_contents.

Sehen wir uns die file_get_contents Funktion in Aktion an!

Wie Sie sehen können, ist es ziemlich einfach, die file_get_contents-Funktion zu verwenden – geben Sie einfach einen Dateinamen im ersten Argument an.

Wie man eine Datei in PHP löscht

In diesem letzten Abschnitt erfahren Sie, wie Sie Dateien löschen können. Um eine Datei in PHP zu löschen, verwenden Sie die Funktion unlink. Lassen Sie uns ein Beispiel durchgehen, um zu sehen, wie es funktioniert.

Das erste Argument der unlink-Funktion ist ein Dateiname, den Sie löschen möchten. Die unlink-Funktion gibt entweder TRUE oder FALSE zurück, je nachdem, ob der Löschvorgang erfolgreich war.

Zusammenfassung

In diesem Beitrag haben wir die Grundlagen der Dateibehandlung in PHP diskutiert. Während des gesamten Artikels haben wir verschiedene Operationen diskutiert, die Sie mit Dateifunktionen in PHP ausführen können. Wenn Sie Fragen oder Anregungen haben, zögern Sie nicht, sie in dem Feed unten zu posten!

PHP lernen mit einem kostenlosen Online-Kurs

Wenn Sie PHP lernen möchten, schauen Sie sich unseren kostenlosen Online-Kurs zu PHP-Grundlagen an!

In diesem Kurs lernen Sie die Grundlagen der PHP-Programmierung. Sie beginnen mit den Grundlagen, lernen, wie PHP funktioniert und schreiben einfache PHP-Schleifen und -Funktionen. Anschließend bauen Sie Programmierklassen für eine einfache objektorientierte Programmierung (OOP) auf. Unterwegs lernen Sie alle wichtigen Fähigkeiten zum Schreiben von Apps für das Web: Sie können üben, auf GET- und POST-Anforderungen zu reagieren, JSON zu analysieren, Benutzer zu authentifizieren und eine MySQL-Datenbank zu verwenden.


Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.