2

関数 is_dir() について php.net で説明されている概念と混同されています。

指定されたファイル名がディレクトリかどうかを示します

(1)指定されたパラメータがディレクトリであるかどうかをチェックし、パスを指定すると、成功するとtrueを返しますが、ファイル名であることがわかっている場合(ファイルはfalseを返す)、なぜそもそも調べるの面倒?

(2)ここで私が混乱していた場所が来ました.readdirは指定されたフォルダ内に存在するファイルを返します.ドットは戻り値を意味しますか?

4

1 に答える 1

3

とてもシンプルだと思います。
1 つのドットは現在のディレクトリを表し、2 つのドットは親ディレクトリを表します。
ルート ディレクトリには二重ドットはありません。
「ls -a」Linux コマンドを使用すると、同じ出力 (1 つおよび 2 つのドット) が表示されます。
これは、親ディレクトリまたは現在のディレクトリでどの権限が付与されているかを確認できる場合に非常に便利です。
よくわかりませんが、 readdir 関数は同じインターフェイスを使用しているため、ドットが発生していると思います。(おそらくphpは単に「ls」ステートメントを内部で使用するか、そのようなものを使用します)

次のようなループで、この 2 つの「ファイル」を単純にスキップできます。

if ($file == "." or $file == "..") continue;
于 2013-07-29T01:07:03.417 に答える