Maison  >  Article  >  développement back-end  >  Explication détaillée des exemples d'opérations de répertoire en PHP

Explication détaillée des exemples d'opérations de répertoire en PHP

小云云
小云云original
2018-03-31 09:13:151248parcourir

Cet article partage principalement avec vous l'explication détaillée des exemples d'opérations de répertoire en PHP, Mkdir (adresse du répertoire [, autorisations [, création récursive (la valeur par défaut est false)]]) ; L'autorisation par défaut est 0777, qui correspond à l'autorisation d'accès maximale. Ce paramètre n'a aucun effet sur les systèmes Windows (fonctionnement Linux).

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

Lors de l'exécution de cette opération, une erreur est signalée car le dossier nom n'existe pas du tout, donc le dossier li sous le dossier nom ne peut pas être créé


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

À ce stade, le résultat renvoyé est 1, ce qui signifie que l'exécution est réussie, et le dossier name existe dans le répertoire courant, et il y a aussi le dossier li dans son sous-dossier. Il s'agit de la création récursive prise en charge par Mkdir(), c'est-à-dire la création automatique de dossiers qui n'existent pas à l'adresse du répertoire.

Supprimer le répertoire :

Rmdir (adresse du répertoire) ; seuls les répertoires vides peuvent être supprimés ici, et la suppression récursive n'est pas prise en charge.

Déplacer (renommer) :

Renommer (ancienne adresse, nouvelle adresse) ;

rename('./name/li','./li'); en effectuant cette opération sur l'héritage ci-dessus, le dossier name existe dans le répertoire courant et le dossier li existe, mais le dossier li sous le dossier name disparaît. (Cette fonction prend également en charge les fichiers d'exploitation)

Obtenir le contenu du répertoire :

1. Ouvrez le répertoire : directory handle = opendir (adresse du répertoire)

2. Lisez le fichier ; : Nom du fichier = readdir (handle de répertoire) ; lit un fichier (sous-répertoire) en séquence et déplace le pointeur du handle vers le bas en même temps. S'il ne peut pas être obtenu, renvoyez false. (En général, il y a deux sous-répertoires logiques dans le répertoire. et .. représentent respectivement le répertoire actuel et le répertoire de niveau supérieur). Ce qui est lu ici, c'est le nom et non le contenu.

3. Fermez le répertoire : closeir (descripteur du répertoire) ;

Exemple : Supprimer des fichiers de manière récursive
<?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;);

Recommandations associées :

Fonctions d'opération de répertoire (supprimer, créer, juger) dans le tutoriel php_PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn