【PHP8.x】finfo_set_flags関数の使い方

作成日: 更新日:

finfo_set_flags関数は、PHPのFileinfo拡張機能において、ファイルのMIMEタイプなどの種類を判別するためのfinfoオブジェクトの動作を設定する関数です。この関数は、主にfinfo_open()関数で作成されたfinfoオブジェクトに対して、その後のfinfo_file()finfo_buffer()などのファイル判別処理をどのように行うかを細かく制御するために使用されます。

第一引数には設定を適用したいfinfoオブジェクトを、第二引数には動作を指定するための整数値のフラグを渡します。このフラグには、FILEINFO_MIME(MIMEタイプとエンコーディングを取得)、FILEINFO_MIME_TYPE(MIMEタイプのみを取得)、FILEINFO_EXTENSION(ファイルの拡張子を取得)などの定数を組み合わせて指定できます。例えば、FILEINFO_MIME_TYPEを設定すると、ファイルの種類を判別する際にMIMEタイプのみを簡潔に取得できるようになります。

これにより、アプリケーションがファイルの種類に応じて適切な処理を行うための、より精度の高い、あるいは目的に特化した情報を得ることが可能になります。設定が成功した場合はtrueを、失敗した場合はfalseを返します。この関数を使うことで、ファイルのメタデータの取得方法を柔軟にカスタマイズし、効率的かつ正確なファイル判別処理を実現できます。

基本的な使い方

構文(syntax)

<?php
$finfo = finfo_open(FILEINFO_NONE);
if ($finfo !== false) {
    finfo_set_flags($finfo, FILEINFO_MIME | FILEINFO_PRESERVE_CURLY_BRACKETS);
    finfo_close($finfo);
}
?>

引数(parameters)

FInfo $finfo, int $flags

  • FInfo $finfo: ファイル情報操作のためのFInfoオブジェクト
  • int $flags: 设置するフラグを示す整数

戻り値(return)

bool

指定されたファイル情報オブジェクトのフラグを設定します。設定が成功した場合は true を、失敗した場合は false を返します。

【PHP8.x】finfo_set_flags関数の使い方 | いっしー@Webエンジニア