ホームページ  >  記事  >  バックエンド開発  >  PHPでのディレクトリ操作例を詳しく解説

PHPでのディレクトリ操作例を詳しく解説

小云云
小云云オリジナル
2018-03-31 09:13:151293ブラウズ

この記事では主に、PHP でのディレクトリ操作の例、Mkdir (ディレクトリ アドレス [、権限 [、再帰的に作成するかどうか (デフォルトは false)]]) について詳しく説明します。成功した場合は true を返し、それ以外の場合は false を返します。デフォルトの権限は 0777 で、これが最大のアクセス権限です。この設定は、Windows システム (Linux 操作) には影響しません。

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

この操作を実行するとエラーが発生します。nameフォルダーが存在しないため、nameフォルダーの下にliフォルダーを作成できません


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

このとき、返される結果は1であり、それを示します実行が成功し、現在のディレクトリに name フォルダーがあり、そのサブフォルダーに li フォルダーもあります。これは、Mkdir() によってサポートされる再帰的な作成です。つまり、ディレクトリ アドレスに存在しないフォルダーを自動的に作成します。

ディレクトリの削除:

Rmdir (ディレクトリアドレス); ここでは空のディレクトリのみを削除でき、再帰的な削除はサポートされていません。

Move (rename):

Rename(old address, new address);

rename('./name/li','./li'); name フォルダは存在し、li フォルダは存在しますが、name フォルダの下の li フォルダが消えます。 (この関数はファイルの操作もサポートしています)

ディレクトリの内容を取得します:

1. ディレクトリを開きます: ディレクトリ ハンドル = opendir (ディレクトリ アドレス)

2. ファイルを読み取ります: ファイル名 = readdir (ディレクトリ ハンドル);ハンドル ポインタを下に移動しながら、ファイル (サブディレクトリ) を順序付けします。取得できない場合は false を返します。 (通常、ディレクトリ内には 2 つの論理サブディレクトリがあります。 と .. はそれぞれ現在のディレクトリと上位ディレクトリを表します)。ここで読み取られるのは名前であり、内容ではありません。

3. ディレクトリを閉じます: Closedir (ディレクトリハンドル);

例: ファイルを再帰的に削除します
<?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;);

関連する推奨事項:

php_PHP チュートリアルのディレクトリ操作関数 (削除、作成、判断)

以上がPHPでのディレクトリ操作例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。