概要
mime_content_type()
関数はファイルの中身を見て MIME タイプを判定する関数であるが, PHP 7.4 で空ファイル判定に関して大分類カテゴリも変わる破壊的変更が入っている。
7.3
inode/x-empty
7.4
application/x-empty
テストをちゃんと書いてないと地味にバグの原因になりそうなので,ここに注意喚起として共有します。
検証用コード
<?php
var_dump(mime_content_type('data://application/octet-stream;base64,'));
データ URI スキーム,こういうときに便利。
独り言
最初 php.net の アップグレードガイド のユーザノートに投稿していたんですが,メンテナによって何故か消されるので諦めて Qiita に書くことにしました。スパムでも質問投稿でもページの話題から脱線してるわけでも無いのに一発削除はちょっと意味がわからない…
有用な投稿がよく分からない検閲に消されるのがかなり不快だったので,金輪際 php.net のユーザノートに投稿することは無いと思います。