システム コールを使用した Unix でのディレクトリの存在の確認
Unix システムでは、ディレクトリの存在のクエリはさまざまなファイル管理タスクに不可欠です。ディレクトリが存在しない場合にエラーを返す opendir() とは異なり、他のメソッドはより正確なディレクトリ検証を提供します。
stat() および lstat() によるディレクトリ チェック
POSIX システムは、パス名で指定されたオブジェクトの存在とタイプを確認するために、stat() と lstat() という 2 つの関数を提供します。 stat() がシンボリック リンクをたどる一方で、lstat() はシンボリック リンク自体を検査します。
次のコード スニペットは、stat() を使用してディレクトリの存在を確認する方法を示しています。
#include <sys/stat.h> struct stat sb; if (stat(pathname, &sb) == 0 && S_ISDIR(sb.st_mode)) { // ...it is a directory... }
ファイル タイプ識別用の S_IS* マクロ
stat() が成功した場合、S_ISDIR() を使用してファイルがディレクトリであるかどうかを判断できます。他の S_IS* マクロを使用すると、さまざまなファイル タイプを識別できます。
以上がシステムコールを使用して Unix にディレクトリが存在するかどうかを確認するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。