ホームページ >php教程 >php手册 >ディレクトリを作成および読み取るための PHP ディレクトリ関数の実装チュートリアルの例

ディレクトリを作成および読み取るための PHP ディレクトリ関数の実装チュートリアルの例

WBOY
WBOYオリジナル
2016-06-13 12:11:52906ブラウズ

今回は主にPHP Webサイト開発におけるファイルディレクトリ機能の応用について紹介します。 PHP Web サイトの開発では、ディレクトリ ファイルの情報を読み込んだり、必要なファイルを格納するディレクトリを作成したりする必要があり、ディレクトリ ファイルのサイズが指定されたサイズを超えた場合、ディレクトリ ファイルを手動で削除する必要があり、時間と手間がかかります。ディレクトリファイルは、PHP 独自のディレクトリ操作機能を通じて完全に管理できます。
この記事では、サンプル チュートリアルの形式で PHP ファイル ディレクトリ機能の使用方法を説明します。 サンプルの主な機能は次のとおりです。 1. PHP ディレクトリ機能を使用して、複数のディレクトリを作成します。 2. ディレクトリ内にテキスト ファイルを作成します。 3. 再帰的実装は、ディレクトリ (フォルダー) 情報を読み取り (走査)、ディレクトリ内のすべてのサブディレクトリとファイルをリスト形式でリストします。
この例にはファイルの読み取りと書き込みの操作が含まれます。最初に PHP ファイルの読み取りと書き込みのチュートリアルを確認することをお勧めします。
この例のディレクトリ構造: PHP 実行可能ファイルは、leapsoulcn ディレクトリと同じレベルにあり、作成されたサブディレクトリは、leapsoulcn ディレクトリの下にあります。
ステップ 1: PHP ディレクトリ関数を使用して関連ディレクトリを作成します

コードをコピーします コードは次のとおりです:


<
mkdir("leapsoulcn",0777);
mkdir("leapsoulcn/php",0777); >mkdir("leapsoulcn/php/web/test",0777);
?>


注: このコードでは、最初に PHP ディレクトリを使用します。関数 mkdir はメイン ディレクトリ Leapsoulcn を作成します。 、そして、Leapsoul と php という 2 つのサブディレクトリを作成し、php ディレクトリの下に web ディレクトリと test ディレクトリを作成します。
知識ポイント: mkdir は主にディレクトリの作成に使用されます。これには、新しいディレクトリ名 (複数レベルのディレクトリを作成する場合はディレクトリ パスを含める必要があることに注意してください)、新しいディレクトリのアクセス許可、つまり、umask 値です。最初の数値は通常 0 で、2 番目の数値は所有者権限を指定し、3 番目の数値は所有者ユーザー グループの権限を指定し、4 番目の数値はグローバル権限を指定します。

1 = 実行可能
2 = 書き込み可能
4 = 読み取り可能
3 つの数字を追加すると、7 はすべてのアクセス許可を表します。必要に応じて、作成する新しいディレクトリにさまざまなアクセス許可を与えることができます。
ステップ 2: Leapsoulcn/php/ ディレクトリに Leapsoulcn.txt ファイルを作成し、関連するコンテンツを書き込みます



コードをコピーします

コードは次のとおりです: ?

@$fp = fopen("leapsoulcn/php/leapsoulcn.txt","w");

if(!$fp){
echo " システム エラー";
exit();
}else {
$fileData = "ドメイン"."t"."www.jb51.net"."n"; = $ fileData."description"."t"."PHP Web サイト開発チュートリアル Web サイト、PHP 初心者向けの PHP チュートリアル Web サイト。"."n";
$fileData = $fileData."title"."t"."この例では、主に PHP ディレクトリ関数の特定のアプリケーションについて説明します: ディレクトリの読み取り、ディレクトリの作成、ディレクトリの削除などの関数をカバーします。
}
?>


注: このサンプル コードの詳細な説明については、前に紹介した PHP ファイルの作成チュートリアルを参照してください。
ステップ 3: ディレクトリ名とテキスト ファイル名を読み取る (トラバース)


コードをコピー

コードは次のとおりです:

$dir = opendir("leapsoulcn"); while ($fileDir = readdir($dir)) { if (!strcmp($fileDir,".")||! strcmp ($fileDir,"..")) {

続行;

}
echo $fileDir."ディレクトリ リスト:

"; subDir = "leapsoulcn/".$fileDir;
$dirC = "->"
listSubDir($subDir,$dirC);
closedir($dir); ? >


注: このコード例のチュートリアルでは、主に PHP ディレクトリ関数 opendir()、readdir()、および Closedir() が使用されます。
知識ポイント:
1. opendir 関数は、アクセスされる特定のディレクトリを開くために使用されます。このチュートリアルの例では、アクセスされる PHP 実行ファイルとメイン ディレクトリがディレクトリ名であることに注意してください。同じレベルにないため、渡されるパラメータはディレクトリ名のみです。同じレベルにない場合、または複数レベルのディレクトリを読み取る場合は、特定のディレクトリ パスまたはファイル パスを指定する必要があります。
2. opendir 関数でメイン ディレクトリを読み取った後、while ループを使用してメイン ディレクトリ内の複数レベルのディレクトリとファイルを読み込みます。この関数は、ディレクトリから読み込みます。読み取り可能なディレクトリまたはファイル名がない場合は、False が返されます。このチュートリアルの例では、ディレクトリはレベルごとに読み取られるため、ディレクトリ情報が取得されます。 . および .. の場合は、このループから抜け出し、次のレベルのディレクトリの読み取りを続けます。
3. ホーム ディレクトリ内のすべてのサブディレクトリとファイルを読み取った後、ファイルを閉じる fclose 関数と同様に、PHP ディレクトリ関数 Closedir を使用してディレクトリ ハンドルを閉じます。
ステップ 4: ディレクトリとファイルを読み取る (走査する) 再帰関数を作成する


コードをコピー

コードは次のとおりです:


<
関数 listSubDir($dirInfo,$dirC)
{
if (is_dir($dirInfo)) {
$subDir = dir($dirInfo); 🎜>while ($subFile = $subDir->read()) {
if (!strcmp($subFile,".")||!strcmp($subFile,"..")) {
続行;
}
$newDir = $dirInfo."/".$subFile;
if (is_file($newDir)) {
echo $dirC.$subFile.": ファイル属性
";
}
else{
echo $dirC.$subFile.": ディレクトリ属性
";
listSubDir($newDir,"-".$ dirC) ;
}
}
$subDir->close();
else return;


説明: この関数には、読み取るディレクトリ (ディレクトリ パスを含む) と表示に使用されるマルチレベル ディレクトリ区切り文字の 2 つのパラメータがあります。この関数では主にPHPのファイルディレクトリ関数is_dir、is_file、dirクラスを使用します。
知識ポイント:
1. まず、is_dir を使用して、ディレクトリを読み取るかファイルを読み取るかを決定します。この関数のパラメーターは、ディレクトリ パスの問題に似ています。
2. 読み取る必要があるディレクトリがディレクトリであると判断された場合は、 dir ディレクトリ クラスを使用して、その複数レベルのサブディレクトリを再帰的に読み取ります。 dir クラスの操作関数関数は、opendir、readdir、closedir などの PHP ディレクトリ関数の関数と一致しています。

この時点で、作成されたディレクトリ全体と、そのディレクトリを読み取るためのコード例が完成しました。メイン ディレクトリの下にある複数レベルのサブディレクトリの名前とテキスト ファイル名が一覧表示されます。
ディレクトリを削除するにはどうすればよいですか?
ディレクトリを削除するには、PHP ディレクトリ関数 rmdir を使用できます。この関数のパラメータは、相対ディレクトリ パスまたは絶対ディレクトリ パスを使用できます。削除されるのは空のディレクトリである必要があります。上記のコード例を通じて、どれが空のディレクトリであるかを完全に判断できます。
これらの基本的な PHP ディレクトリ関数とファイル操作関数を適用すると、ファイル システムと完全に対話し、ディレクトリの作成、削除、読み取り、ファイル情報の管理ができる Web サイトのディレクトリ ファイル管理システムを作成できます。ファイルサイズを読み取るには?ファイルを削除または移動するにはどうすればよいですか?あはは、次回はそれを共有しましょう。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。