Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung von Beispielen für Verzeichnisoperationen in PHP

Detaillierte Erläuterung von Beispielen für Verzeichnisoperationen in PHP

小云云
小云云Original
2018-03-31 09:13:151250Durchsuche

Dieser Artikel teilt Ihnen hauptsächlich die detaillierte Erklärung von Beispielen für Verzeichnisoperationen in PHP, Mkdir (Verzeichnisadresse [, Berechtigungen [, ob rekursiv erstellt werden soll (Standard ist falsch)]]); gibt bei Erfolg „true“ zurück, andernfalls wird „false“ zurückgegeben. Die Standardberechtigung ist 0777, was die maximale Zugriffsberechtigung darstellt. Auf Windows-Systemen (Linux-Betrieb) hat diese Einstellung keine Auswirkung.

echo mkdir('./name/li');//当前目录下并没有name这个文件夹

Beim Ausführen dieses Vorgangs wird ein Fehler gemeldet, da der Namensordner überhaupt nicht existiert, sodass der li-Ordner unter dem Namensordner nicht erstellt werden kann


echo mkdir('./name/li',0777,true);//支持递归创建。

Zu diesem Zeitpunkt ist das Rückgabeergebnis 1, was bedeutet, dass die Ausführung erfolgreich ist und der Namensordner im aktuellen Verzeichnis vorhanden ist und sich auch der Li-Ordner in seinem Unterordner befindet. Dies ist die von Mkdir() unterstützte rekursive Erstellung, d. h. die automatische Erstellung von Ordnern, die an der Verzeichnisadresse nicht vorhanden sind.

Verzeichnis löschen:

Rmdir (Verzeichnisadresse); hier können nur leere Verzeichnisse gelöscht werden, rekursives Löschen wird nicht unterstützt.

Verschieben (umbenennen):

Umbenennen (alte Adresse, neue Adresse);

rename('./name/li','./li'); Wenn Sie diesen Vorgang für die obige Vererbung ausführen, ist der Namensordner im aktuellen Verzeichnis vorhanden, und der Li-Ordner ist vorhanden, aber der Li-Ordner unter dem Namensordner verschwindet. (Diese Funktion unterstützt auch Betriebsdateien)

Verzeichnisinhalt abrufen:

1. Öffnen Sie das Verzeichnis: Verzeichnishandle = opendir (Verzeichnisadresse);

2. Lesen Sie die Datei : Dateiname = readdir (Verzeichnis-Handle); eine Datei (Unterverzeichnis) nacheinander lesen und gleichzeitig den Handle-Zeiger nach unten bewegen. Wenn es nicht abgerufen werden kann, geben Sie false zurück. (Im Allgemeinen gibt es zwei logische Unterverzeichnisse im Verzeichnis. und .. repräsentieren das aktuelle Verzeichnis bzw. das Verzeichnis der oberen Ebene.) Gelesen wird hier der Name und nicht der Inhalt.

3. Schließen Sie das Verzeichnis: geschlossenir (Verzeichnis-Handle);

Beispiel: Dateien rekursiv löschen
<?php
	/**
	*递归删除指定文件目录下的所有问价及文件夹
	**/
	function RemoveDir($path){
		$path=iconv(&#39;utf-8&#39;,&#39;gbk&#39;,$path);//windows中汉字编码为gbk,而php中使用的是utf-8编码。
		$dir_handle=opendir($path);
		echo "{$path}<br/>";
		while(false!==$file=readdir($dir_handle))//此处用false!==$file是因为有的文件夹如果命名为0的话。会造while($file=readdir($dir_handle))条件不满足
		{ 
			if($file==&#39;.&#39;||$file==&#39;..&#39;)//存在逻辑子目录.和..
				continue;
			if(is_dir($path.&#39;/&#39;.$file)){//函数is_dir(文件地址)判断文件是否为目录。
				RemoveDir($path.&#39;/&#39;.$file);
			}else{
				unlink($path.&#39;/&#39;.$file);//unlink(文件地址)删除某个文件。
			}
		}
		closedir($dir_handle);
		return rmdir($path);
	}
	RemoveDir(&#39;./name&#39;);

Verwandte Empfehlungen:

Verzeichnisbetriebsfunktionen (Löschen, Erstellen, Beurteilen) im php_PHP-Tutorial

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung von Beispielen für Verzeichnisoperationen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn