<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 記事の始まり(コンテンツはありません)</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
---
</span><span><span class="hljs-comment"># PHP パスがディレクトリであるかどうかを判断する方法?使用 stat() 関数は簡単に識別できます</span></span><span>
存在する PHP 真ん中,パスがディレクトリであるかどうかを判断するのは非常に一般的な操作です,尤其存在する文件系统操作真ん中,プログラムは、異なるロジックを実行するパスのタイプを判断する必要があります。PHP このタスクを達成するには多くの方法があります,其真ん中 `</span><span><span class="hljs-title function_ invoke__">stat</span></span><span>()` 機能は非常に強力なツールです,あなたはそれを通してファイルの詳細を取得することができます,パスがディレクトリであるかどうかの決定を含む。
</span><span><span class="hljs-comment">## 何ですか `stat()` 関数?</span></span><span>
`</span><span><span class="hljs-title function_ invoke__">stat</span></span><span>()` 関数使用于获取关于指定文件或目录的信息。配列を返します,ファイルまたはディレクトリ用のさまざまなメタデータが含まれています,ファイルサイズを含む、権限、変更時間など。。最も重要なことはです,`</span><span><span class="hljs-title function_ invoke__">stat</span></span><span>()` 还可以使用来判断文件或路径的类型,これは、パスがディレクトリであるかどうかを判断するのに非常に効果的です。
</span><span><span class="hljs-comment">### `stat()` 関数的基本使用法</span></span><span>
`</span><span><span class="hljs-title function_ invoke__">stat</span></span><span>()` 関数的语法如下:
```php
</span><span><span class="hljs-title function_ invoke__">stat</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$filename</span></span><span>): </span><span><span class="hljs-keyword">array</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
$ filenameは、検出する必要があるファイルまたはディレクトリへのパスです。
パスが存在して正常に読み取られた場合、 stat()はファイル情報を含む配列を返します。
パスが存在しないか、エラーが発生した場合、 Falseが返されます。
パスがディレクトリであるかどうかを判断するための鍵は、STAT()関数によって返される配列内のDEVおよびモードフィールドです。モードフィールドは、ファイルのタイプと権限を示します。モードフィールドの値をチェックすることにより、パスがディレクトリであるかどうかを確認できます。
具体的には、 stat()によって返される配列のモード値はビットからビットへと操作し、定数s_ifdirで動作して、ファイルがディレクトリであるかどうかを確認できます。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$path</span></span><span> = </span><span><span class="hljs-string">'/path/to/your/directory'</span></span><span>;
</span><span><span class="hljs-variable">$stat</span></span><span> = </span><span><span class="hljs-title function_ invoke__">stat</span></span><span>(</span><span><span class="hljs-variable">$path</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$stat</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span> && (</span><span><span class="hljs-variable">$stat</span></span><span>[</span><span><span class="hljs-string">'mode'</span></span><span>] & </span><span><span class="hljs-number">0170000</span></span><span>) === </span><span><span class="hljs-number">0040000</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$path</span></span></span><span> それはディレクトリです";
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$path</span></span></span><span> 不それはディレクトリです";
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
$ stat ['mode']&0170000は、ファイルモードでビットと操作を実行してファイルタイプを取得することです。
結果が0040000に等しい場合、パスはディレクトリです。
STAT()で返される配列には、ファイルサイズ、変更時間など、必要に応じてさらに使用できる他の情報も含まれています。
STAT()に加えて、PHPには、パスがディレクトリIS_DIR()であるかどうかを判断するために特別に使用される関数もあります。これは非常にシンプルです。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$path</span></span><span> = </span><span><span class="hljs-string">'/path/to/your/directory'</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_dir</span></span><span>(</span><span><span class="hljs-variable">$path</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$path</span></span></span><span> それはディレクトリです";
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$path</span></span></span><span> 不それはディレクトリです";
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
IS_DIR()関数はほとんどの場合に十分であり、ブール値を返します。パスがディレクトリである場合、そうでなければ偽です。
ただし、より詳細なファイル情報が必要な場合、またはSTAT()を介してより多くのメタデータを取得したい場合は、 STAT()がより良い選択です。
PHPでは、パスがディレクトリであるかどうかを判断する方法がいくつかあります。 STAT()関数を使用すると、特により複雑なファイルシステム操作が必要な場合、パスに関する詳細情報を取得できます。モードフィールドをチェックすることにより、パスがディレクトリであるかどうかを簡単に判断できます。さらに、 IS_DIR()関数は単純ですが、ほとんどのアプリケーションシナリオでは十分です。
適切な方法を選択すると、ファイルシステムをより効率的に操作するのに役立ちます。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 記事の終わり(コンテンツはありません)</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>