Unix でのディレクトリの存在の確認
Unix では、ディレクトリの存在を確認することはさまざまな操作に不可欠です。エラー時にディレクトリが存在しないことのみを明らかにする opendir() とは異なり、ディレクトリの存在を確認するために特別に設計されたシステム コールがあります。
このニーズに対処するために、POSIX システムは 2 つの関数を提供します。 () と lstat()。どちらの関数も、指定されたパス名に関する情報 (そのタイプを含む) を提供します。ただし、stat() はシンボリック リンクに従いますが、lstat() はシンボリック リンクに従いません。
stat() を使用してディレクトリが存在するかどうかを確認するには:
#include <sys/stat.h> struct stat sb; if (stat(pathname, &sb) == 0 && S_ISDIR(sb.st_mode)) { // Directory exists }
マクロ S_ISDIR() はファイル タイプを確認します。ディレクトリとして。同様に、他のファイル タイプも、対応する S_IS* マクロを使用してチェックできます。
結論:
stat() と lstat() は、ファイル タイプを判断するための便利で包括的な方法を提供します。 Unix のファイルまたはディレクトリの存在と種類を認識し、ファイル システム関連の操作をシームレスに処理できるようにします。
以上がUnix にディレクトリが存在するかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。