ファイルシステムでファイルを管理することは、多くの場合、PHPアプリケーションを開発するときに不可欠なタスクです。これらのファイルをより効率的に処理するために、PHPのSCANDIR関数を使用してディレクトリを読み取り、ファイルタイプを決定してファイルの種類を決定して、ファイルを分類できます。この記事では、これら2つの機能を介してファイルタイプ分類を実装する方法を詳細に紹介します。
Scandir関数は、指定されたディレクトリ内のすべてのファイルとサブディレクトリを取得するために使用され、ファイル名を含む配列を返します。基本的な構文は次のとおりです。
<span><span><span class="hljs-title function_ invoke__">scandir</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$directory</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$sorting_order</span></span><span> = SCANDIR_SORT_ASCENDING, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$context</span></span><span> = </span><span><span class="hljs-literal">NULL</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>
$ディレクトリ:読み取りディレクトリパス。
$ sorting_order :並べ替え、デフォルトで昇順の注文( scandir_sort_assending )を並べ替えると、 Scandir_sort_descendingを使用して順序を下回ることもできます。
$コンテキスト:リソースコンテキスト、通常は必要ありません。
Scandirを使用して、すべてのファイルとフォルダーをディレクトリ内に簡単にリストします。
Filetype関数は、指定されたパスのファイルタイプを返すために使用されます。その返品値は、次のタイプのいずれかになる可能性があります。
「ファイル」 :通常のファイル
「dir」 :内容
「リンク」 :シンボルリンク
「不明」 :不明なタイプ(ファイルはアクセスできないか、パスが正しくありません)
基本的な構文は次のとおりです。
<span><span><span class="hljs-title function_ invoke__">filetype</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">string</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
$ filename :チェックするファイルまたはディレクトリへのパス。
ScandirとFiletypeを使用して、ディレクトリ内のすべてのファイルとサブディレクトリを反復し、ファイルタイプに従って分類できます。簡単な例を次に示します。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ディレクトリパスを定義します</span></span><span>
</span><span><span class="hljs-variable">$directory</span></span><span>
</span></span>