Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in PHP-Dateiverarbeitungsfunktionen (mit Beispielen)

Detaillierte Einführung in PHP-Dateiverarbeitungsfunktionen (mit Beispielen)

不言
不言nach vorne
2019-01-10 11:31:332346Durchsuche

Dieser Artikel bietet Ihnen eine detaillierte Einführung in die PHP-Dateiverarbeitungsfunktionen (mit Beispielen). Ich hoffe, er wird Ihnen als Referenz dienen.

PHP kann Verzeichnisse und Dateien problemlos verwalten, einschließlich Erstellen, Lesen, Ändern, Löschen usw.

mkdir

bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resources $context ]]] )
Versuchen Sie, ein neues Verzeichnis zu erstellen, das durch den Pfadnamen angegeben wird.

mkdir kann ein durch den Pfadnamen angegebenes Verzeichnis erstellen. Der Standardmodus ist 0777, der unter Windows ignoriert wird und bei einem Fehler false zurückgibt.

<?php
mkdir(&#39;./test&#39;);// 在当前目录创建 test 目录

rmdir

bool rmdir ( string $dirname [, resources $context ] )
Versuchen Sie, das durch dirname angegebene Verzeichnis zu löschen. Das Verzeichnis muss leer sein und über entsprechende Berechtigungen verfügen. Bei einem Fehler wird ein Fehler der Stufe E_WARNING generiert.

Wie oben gezeigt, kann rmdir ein Verzeichnis löschen. Es ist zu beachten, dass das Verzeichnis leer sein muss und über Berechtigungen verfügen muss zurückgegeben. Beispiel

<?php
rmdir(&#39;./test&#39;);// 删除当前目录下的 test 目录。

file_put_contents

int file_put_contents ( string $filename , Mixed $data [, int $flags = 0 [, Ressource $context ]] )
und aufgerufen Die Sequenzen fopen(), fwrite() und fclose() haben die gleichen Funktionen.

file_put_contents Schreiben Sie Daten in die Dateinamendatei. Wenn dies fehlschlägt, wird die Anzahl der geschriebenen Bytes zurückgegeben. Beispiel

<?php
file_put_contents(&#39;./test.txt&#39;, date(&#39;Y-m-d H:i:s&#39;));// 在当前目录创建 test.txt,并且写入数据
file_put_contents(&#39;./test.txt&#39;, date(&#39;Y-m-d H:i:s&#39;), FILE_APPEND);// 在 test.txt 文件中,追加数据

file_get_contents

string file_get_contents ( string $filename [, bool $use_include_path = false [, resources $context [, int $offset = -1 [, int $maxlen ]]]] )
Das Gleiche wie file(), außer dass file_get_contents() die Datei in einen String einliest. Der Inhalt der Länge offset wird ab der durch Parameter maxlen angegebenen Position gelesen.

file_get_cntents liest den Inhalt in Dateiname und gibt eine Zeichenfolge zurück. Wenn dies fehlschlägt, wird false zurückgegeben. Beispiel

<?php
echo file_get_contents(&#39;./test.txt&#39;);// 输出当前目录下 test.txt 的内容

unlink

bool unlink ( string $filename [, resources $context ] )
Dateinamen löschen. Ähnlich der unlink()-Funktion von Unix C. Wenn ein Fehler auftritt, wird ein Fehler der Stufe E_WARNING generiert.

Verknüpfung aufheben löscht Dateinamendatei, außerdem müssen Berechtigungen beachtet werden. Beispiel

<?php
unlink(&#39;./test.txt&#39;);// 删除当前目录的 test.txt

rename

bool rename ( string $oldname , string $newname [, resources $context ] )
Versuchen Sie, oldname in newname umzubenennen.

rename kann nicht nur Dateien umbenennen, sondern auch Dateien verschieben und gibt false zurück, wenn dies fehlschlägt. Beispiel

<?php
rename(&#39;./test.txt&#39;, &#39;./test1.txt&#39;);// 当前目录下的 test.txt 重命名为 test1.txt
rename(&#39;./test1.txt&#39;, &#39;./test/test.txt&#39;);// 将当前目录下的 test1.txt, 移动到 test下

copy

bool copy ( string $source , string $dest [, resources $context ] )
Dateien von der Quelle zum Ziel kopieren.

Wie oben gezeigt, wird bei einem Fehler false zurückgegeben. Beispiele

<?php
copy(&#39;./test/test.txt&#39;, &#39;./test1.txt&#39;);// test 目录下的test.txt, 拷贝到当前目录

Beispiele und Kommentare

Hier sind einige Beispiele, die in der Arbeit oder in Interviews verwendet werden.

<?php

/**
 * 遍历目录下所有文件
 * @param $path 
 */
function getAllFiles($path)
{
    if (!is_dir($path)) {
        exit(&#39;错误&#39;);
    }
    echo &#39;<ul>';
    foreach (scandir($path) as $line) {
        if ($line == '.' || $line == '..') {
            continue;
        }

        if (is_dir($path . '/' . $line)) {
            getAllFiles($path . '/' . $line);
        }
        echo '<li>' . $path . '/' . $line . '</li>';
    }
    echo '</ul>';
}

/**
 * 删除目录下所有文件
 * @param $path
 */
function delAllFile($path)
{
    if (!is_dir($path)) {
        exit('目录不存在');
    }

    $dir = opendir($path);
    while ($filename = readdir($dir)) {
        if ($filename != "." && $filename != "..") {
            $file = $path . "/" . $filename;
            if (is_dir($file)) {
                delAllFile($file);
            } else {
                unlink($file);
            }
        }
    }
    closedir($dir);
    rmdir($path);
}

Hinweise

  • Der rekursive Parameter in mkdir de kann verschachtelte Verzeichnisse erstellen;

  • Der Flags-Parameter in file_put_contents, can Weitere Informationen finden Sie unter dem Link

  • file_put_contents kann auch einen nicht-booleschen Wert zurückgeben, der „false“ entspricht. Verwenden Sie ===, um zu beurteilen >

  • file_get_contents kann auch eine URL öffnen, um Webseiteninhalte abzurufen;

  • file_get_contents Wenn Sie eine URL mit Sonderzeichen (z. B. Leerzeichen) öffnen möchten ), müssen Sie urlencode( ) verwenden, um die URL-Kodierung durchzuführen.

  • Kopieren Wenn die Zieldatei bereits vorhanden ist, wird sie überschrieben;

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in PHP-Dateiverarbeitungsfunktionen (mit Beispielen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen