PHP ディレクトリ処理 - ディレクトリの参照とディレクトリの操作
この記事では、ファイルの処理、読み取り、書き込み操作、ディレクトリの処理と同じように、ディレクトリの処理について主にディレクトリの参照とディレクトリの操作について説明します。の処理ですが、操作方法が若干異なる場合があります。
それでは、前回の記事「PHPのディレクトリ処理 - ディレクトリのオープン/クローズ」では、最も基本的なディレクトリ処理のオープンとクローズを紹介しました。以下ではディレクトリの参照とディレクトリの操作について詳しく紹介していきます!
—: ディレクトリを参照します
PHP では、ディレクトリ内のファイルを参照するには、scandir() 関数を使用します。この関数の構文形式は次のとおりです:
array scandir ( string $directory [, int $sorting_order [, resource $context ]] )
この関数は、すべてを含む配列を返します。ディレクトリ内のファイルとディレクトリ。パラメータsorting_orderはソート順序を指定します。このパラメータを追加すると、デフォルトはアルファベットの昇順になります。
次の例では、ディレクトリ内のすべてのファイルを表示します。具体的なコード例は次のとおりです。
<?php header("Content-Type:text/html; charset=utf-8"); $path = "D:\phpStudy\WWW\php"; if(is_dir($path)){ //检测是否是一个目录 $dir = scandir($path); //使用 scandir()函数取得所有文件及目录 foreach ($dir as $value){ //使用 foreach 循环 echo $value."<br>"; //循环输出文件及目录名称 } } else{ echo "路径错误"; } ?>
実行結果は次のとおりです。
2: 操作ディレクトリ
つまり、ほとんどのファイル操作関数 (名前変更など) はディレクトリにも適用できますが、ディレクトリにのみ固有の特殊な関数もいくつかあります。以下のリストは、一般的に使用されるディレクトリ操作関数の一部です。 :
関数プロトタイプ | 関数の説明 | 例 |
bool mkdir(string $pathname) | 指定されたディレクトリを作成 | mkdir('temp'); |
bool rmdir(文字列 $ dirname) | 指定されたディレクトリを削除します。ディレクトリは空である必要があります | rmdir('tmp') |
string getcwd(void) | 現在の作業ディレクトリを取得します | getcwd() |
bool chdir (文字列ディレクトリ) | 現在のディレクトリをディレクトリに変更します | echo getcwd()." "; chdir('../');echo getcwd()." " |
float disc_free_space(string directory) | ディレクトリの利用可能なスペース (バイト) を返します。チェックされているファイルは、サーバーのファイル システムを通じてアクセスする必要があります | disk_free_space('d:\appserv'); |
float disk_total_space(string directory) | ディレクトリの合計スペース サイズ (バイト) を返します | disk_total_sapce ('d :\appserv') |
string readdir(リソースハンドル) | ディレクトリ内の次のファイルのファイル名を返します (この関数を使用する場合、ディレクトリは opendir() 関数を使用して開かれている必要があります)。 PHP5 より前では、この関数はディレクトリを参照するために使用されていました。 | while(false!==($path=readdir($handle))){echo $path;} |
void rewinddir(リソースハンドル) | 指定されたディレクトリをディレクトリの先頭に再割り当てします | rewinddir ($handle) |
PHP ディレクトリの処理はここで終わりです。引き続き PHP ファイル処理を紹介します。詳細については、「PHP ファイル処理の高度な応用 - リモート ファイル アクセスとファイルのロック」を参照してください。
以上がPHP ディレクトリ処理 - ディレクトリの参照とディレクトリの操作の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。