sanitize_file_name() の使い方|説明・引数・注意点

説明

sanitize_file_name() は、ファイル名に使えない文字を取り除く関数です。

基本構文

sanitize_file_name( string $str ): string

引数

  • $str:処理する文字列

戻り値

サニタイズ済みの文字列。

使い方(サンプル)

$name = sanitize_file_name( $_FILES['file']['name'] );

注意点

  • アップロードされたファイル名には必ず通します。

実務での使いどころ

  • アップロードされたファイルの名前を、安全な形に整えるとき。
  • ファイルを保存する前に、ファイル名の不要な文字を取り除くとき。

よくあるミスと対処

  • パスの全体(フォルダを含む)に使っている。この関数は、ファイル名だけが対象。/ などが取り除かれ、パスが壊れる。
  • ファイル名の検証が、これだけで十分だと考えている。拡張子や、MIMEタイプの確認も必要。

NG例

$path = sanitize_file_name( '/uploads/2026/a.jpg' ); // パスが壊れる

OK例

$name = sanitize_file_name( $_FILES['photo']['name'] );
$type = wp_check_filetype( $name );

使い分け早見表

関数 結果
sanitize_file_name() ファイル名として使える文字列
sanitize_title() URL用のスラッグ
wp_check_filetype() 拡張子から、MIMEタイプを判定

関連項目

wp_check_filetype()、wp_handle_upload()、sanitize_title()

公式リファレンス:sanitize_file_name() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました