現在の位置: ホーム> 最新記事一覧> PathInfoを使用してファイルタイプを決定し、異なるPHP操作ロジックを実行する方法は?

PathInfoを使用してファイルタイプを決定し、異なるPHP操作ロジックを実行する方法は?

gitbox 2025-09-08
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// コードのこの部分は、テキストの内容とは何の関係もありません,単なるサンプルディスプレイ,実際のアプリケーションは、必要に応じて調整できます</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"プログラムは実行を開始します&lt;br&gt;"</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
<span class="hljs-comment">/**
 * 使い方 pathinfo ファイルの種類を決定し、異なる実行を行います PHP 操作ロジック?
 * 
 * 存在するPHP開発中,多くの場合、ファイルのタイプに従って異なる処理ロジックを実行する必要があります,たとえば、画像ファイル、ドキュメントファイル、ビデオファイルなど。
 * PHP組み込み pathinfo 関数は、ファイルパス情報を簡単に取得できます,ファイル拡張子を含めます,これにより、ファイルタイプの判断が可能になります。
 * 
 * これが簡単な例です,それを使用する方法を示します pathinfo ファイル拡張子を取得します,異なるタイプに応じて異なる操作を実行します。
 */</span>

</span><span><span class="hljs-comment">// ファイル名があるとします</span></span><span>
</span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-string">"example.jpg"</span></span><span>;

</span><span><span class="hljs-comment">// 使用 pathinfo ファイル情報を取得します</span></span><span>
</span><span><span class="hljs-variable">$fileInfo</span></span><span> = </span><span><span class="hljs-title function_ invoke__">pathinfo</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>);

</span><span><span class="hljs-comment">// 拡張機能を取得します(小文字に注意してください,ケースの一貫性のない拡張を避けてください)</span></span><span>
</span><span><span class="hljs-variable">$extension</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strtolower</span></span><span>(</span><span><span class="hljs-variable">$fileInfo</span></span><span>[</span><span><span class="hljs-string">'extension'</span></span><span>] ?? </span><span><span class="hljs-string">''</span></span><span>);

</span><span><span class="hljs-comment">// 拡張機能に従って異なるロジックを実行します</span></span><span>
</span><span><span class="hljs-keyword">switch</span></span><span> (</span><span><span class="hljs-variable">$extension</span></span><span>) {
    </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'jpg'</span></span><span>:
    </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'jpeg'</span></span><span>:
    </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'png'</span></span><span>:
    </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'gif'</span></span><span>:
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"これは画像ファイルです,画像処理ロジックを実行します。&lt;br&gt;"</span></span><span>;
        </span><span><span class="hljs-comment">// ここでは、画像関連の処理コードを記述できます,たとえば、サムネイルの発電、画像圧縮など</span></span><span>
        </span><span><span class="hljs-keyword">break</span></span><span>;

    </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'pdf'</span></span><span>:
    </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'doc'</span></span><span>:
    </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'docx'</span></span><span>:
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"这是一个ドキュメントファイル,ドキュメント処理ロジックを実行します。&lt;br&gt;"</span></span><span>;
        </span><span><span class="hljs-comment">// ここでは、ドキュメント関連の処理コードを記述できます,たとえば、コンテンツ分析、フォーマット変換など</span></span><span>
        </span><span><span class="hljs-keyword">break</span></span><span>;

    </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'mp4'</span></span><span>:
    </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'avi'</span></span><span>:
    </span><span><span class="hljs-keyword">case</span></span><span> </span><span><span class="hljs-string">'mov'</span></span><span>:
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"これはビデオファイルです,ビデオ処理ロジックを実行します。&lt;br&gt;"</span></span><span>;
        </span><span><span class="hljs-comment">// ここでは、ビデオ関連の処理コードを書くことができます,たとえば、トランスコーディング、抽出カバーなど。</span></span><span>
        </span><span><span class="hljs-keyword">break</span></span><span>;

    </span><span><span class="hljs-keyword">default</span></span><span>:
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"不明またはサポートされていないファイルタイプ,デフォルトの処理ロジックを実行します。&lt;br&gt;"</span></span><span>;
        </span><span><span class="hljs-comment">// デフォルトの処理ロジックをここに記述します,たとえば、アップロードを拒否します、迅速なエラーなど</span></span><span>
        </span><span><span class="hljs-keyword">break</span></span><span>;
}

<span class="hljs-comment">/**
 * ここで特に注意してください:
 * 1. pathinfo ファイル名文字列自体のみを解析します,不验证文件是否存存在する。
 * 2. 拡張判断は、ファイル名の接尾辞に依存します,可能存存在する安全风险(たとえば、接尾辞を悪意に変えます),必要に応じて組み合わされます mime_content_type 二次検証。
 * 3. 拡張機能は統合形式に変換する必要があります(一般的に使用されます strtolower)高級および小文字によって引き起こされる誤解を避けるため。
 */</span>

</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>