Wie PHP Datei und Verzeichnis-Funktionen für HTML5 und CSS3 Programmierung verwenden

Manchmal müssen Sie PHP mit Dateien in einem Verzeichnis für HTML5 und CSS3 Programmierung zu arbeiten. Sagen Sie bitte ein Reporting-Tool für einen Kunden haben. Jede Woche, generieren Sie einen neuen Bericht für den Kunden und legen Sie sie in einem Verzeichnis.

Sie wollen nicht auf die Seite jedes Mal, wenn Sie dies tun zu ändern haben, so dass stattdessen eine Seite zu machen, die eine Liste aller Berichtsdateien für den Kunden zur Auswahl automatisch erzeugt. Dies ist die Art von Sache, die Sie mit Funktionen tun können, wie opendir () und readdir ().

opendir ()

Verwendung der opendir () Funktion können Sie eine Variable erstellen (technisch gesehen, ist diese Art von Variable aufgerufen wird ein Griff), Mit dem Sie mit einem bestimmten Verzeichnis zu arbeiten.

Das opendir () Funktion nimmt einen Parameter: den Pfad zu dem Verzeichnis, mit dem Sie arbeiten möchten. Das opendir () Funktion gibt einen Verzeichnis-Handle (wie eine Art von Verbindung mit dem Verzeichnis) auf Erfolg und Falsch bei einem Fehler.

Hier ist ein Beispiel für die opendir () Funktion. Diese Funktion speichert ein Verzeichnis-Handle auf die C: xampp htdocs XFD xfd5.7 Verzeichnis in der $ directoryHandle Variable:

$ DirectoryHandle = opendir ( "C: xampp htdocs XFD xfd5.7") -

readdir ()

Nachdem Sie öffnen Sie das Verzeichnis mit der opendir () Funktion haben Sie einen Cursor auf die erste Datei hingewiesen. An dieser Stelle können Sie die Dateinamen einzeln mit einem Fest während Schleife. Um dies zu tun, verwenden Sie die readdir () Funktion.

Das readdir () Funktion nimmt einen Parameter: die Variable mit dem Verzeichnis-Handle mit der erstellt opendir () Funktion. Das readdir () Funktion gibt den Namen einer Datei, die derzeit durch den Cursor auf Erfolg und wird einen Fehler konzentrierte sich auf zu werden.

Hier ist ein Beispiel für die readdir () Funktion. Diese Funktion wird durch jede Datei im Verzeichnis angegeben durch $ dp und ordnet den Dateinamen der aktuellen Datei an einen neuen Index in $ fileArray Array:

while ($ Current == false!) {$ Current = readdir ($ dp) - $ filesArray [] = $ currentFile-}

die eigentliche readdir () Funktion selbst ist readdir ($ dp). Weitere Informationen über die Funktion finden Sie in der offiziellen PHP Online-Dokumentation an https://us.php.net/function.readdir.

In einigen Umständen ist die readdir () Funktion könnte Rückkehr nicht Boolesche Werte, die beurteilen zu Falsch, sowie 0 oder # 147- # 148-. Bei der Prüfung der Rückgabewert der readdir () Funktion, Nutzung === oder !==, Anstatt von ==oder !==, diese speziellen Fälle zu berücksichtigen.

chdir ()

Wenn Sie eine Datei in einem anderen Verzeichnis als das Verzeichnis erstellen möchten, die die PHP-Seite Erstellen der Datei in ist, müssen Sie das Verzeichnis zu wechseln. Sie wechseln das Verzeichnis in PHP mit der chdir () Funktion.

Wenn Sie absolut sicher sein wollen, dass Sie im richtigen Verzeichnis befinden, bevor Sie die Datei zu schreiben, können Sie ein verwenden ob Erklärung mit der getcwd () Funktion. Dies ist in der Regel ein wenig übertrieben, aber es kann hilfreich sein.

Das CHdir () Funktion nimmt einen Parameter: den Pfad zu dem Verzeichnis, das Sie wollen, mit zu arbeiten. Das CHdir () Funktion zurück Wahr auf Erfolg und Falsch bei einem Fehler.

Hier ist ein Beispiel für die CHdir (). Diese Funktion ändert, um die C: xampp htdocs XFD xfd5.6 Verzeichnis:

chdir ( "C: xampp htdocs XFD xfd5.6") -

Wenn Sie in ein Verzeichnis zu ändern, sind Sie dann frei, um es mit der Funktion zu schreiben.

Wie die Liste der Datei Links zu generieren

Verwendung der opendir () und readdir () Funktionen können Sie eine Liste von Links zu den Dateien in einem Verzeichnis zu generieren.

Werfen Sie einen Blick auf die PHP-Code für die Datei-Links-Liste Beispiel:

fileList.php
    ? Lt; php $ dp = opendir ( ".") - $ Current = "" -Während (! $ Current == false) {$ Current = readdir ($ dp) - $ filesArray [] = $ currentFile-} // beenden, während // das Array in alpha ordersort ($ filesArray) sortieren - ". -foreach ($ filesArray wie $ aFile) {$ output =" // schreiben die Ausgabe $ output = "
  • $ aFile
  • N "-} // end foreachprint" $ output "->

Hier ist, wie das fileList.php Programm seine Magie ausführt:

  1. Öffnen Sie ein Verzeichnis Zeiger auf das aktuelle Verzeichnis.

    In allen wichtigen Betriebssystemen, die Periode (.) Zeichen gibt das aktuelle Verzeichnis.

    $ Dp = opendir ( ".") -
  2. Erstellen Sie eine Schleife, bis es wiederholt keine links-Dateien.

    Das Sonderangebot !==Vergleich wird verwendet, selten Probleme zu vermeiden, wie zum Beispiel Dateien mit dem Namen falsch. (Ja, es glauben oder nicht, das passiert manchmal.)

    bild0.jpg
    while ($ Current! == false) {
  3. Lesen Sie die nächste Datei aus dem Verzeichnis-Zeiger.

    Das readdir () Funktion liest die nächste Datei in und speichert sie in einer Variablen ($ Current).

     $ Current = readdir ($ dp) -
  4. Fügen Sie die aktuelle Datei in ein Array.

    Wenn Sie einfach eine Datei in ein Array ohne Index zuweisen, stellt PHP das Element in den nächsten verfügbaren Raum.

     $ FilesArray [] = $ currentFile-
  5. Sortieren Sie die Array.

    Die Dateien werden nicht in der Anordnung in einer bestimmten Reihenfolge sein, so nutzen die Sortieren() Funktion.

    sort ($ filesArray) -
  6. Drucken Sie jedes Element des Arrays.

    Sie können eine ungeordnete Liste von Links verwenden, um jede Datei anzuzeigen. Machen Sie es einen Link, so dass der Benutzer die Datei klicken kann es direkt zu sehen.

    foreach ($ filesArray wie $ aFile) {$ output. = "
  7. $ aFile
  8. N "-} // end foreach

Auf einem Windows-Server, müssen Sie die Schrägstriche im Dateipfad entkommen. Sie tun dies, indem Sie einen umgekehrten Schrägstrich vor den Schrägstriche in dem Dateipfad hinzufügen. (Zum Beispiel, würden Sie schreiben C: xampp htdocs XFD xfd5.7 Anstatt von C: xampp htdocs XFD xfd5.7 .Auf einem Server Unix), müssen Sie nicht, dies zu tun, weil Dateipfade Schrägstriche (/) Anstelle von Schrägstriche ().

Wenn Sie nur einen bestimmten Dateityp möchten, können Sie reguläre Ausdrücke verwenden, um die Dateien zu filtern. Wenn Sie wollte nur die .txt und .dat Dateien aus dem Verzeichnis, hätten Sie die Datei des Array durch diesen Filter zum Herausfiltern unerwünschter Dateitypen ausführen:

$ FilesArray = preg_grep ( "/ txt $ | dat $ /", $ filesArray) -

Menü