説明
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

コメント