現在、ユーザーがファイルをアップロードできるようにする PHP アプリケーションを構築しています。現在、アップロード ページにいますが、認証システムが機能しません。このシステムを使用して、ファイルをオーディオ ファイルとして検証しています。
// Set our file name and extension
$fname = $_FILES['file']['name'];
$extension = strtolower(substr($fname, strpos($fname, '.') + 1));
// Check file
if ($extension == 'mp3' && $_FILES['file']['type'] == 'audio/mpeg') {
//File is valid mp3
} else {
//File is invalid
}
これは機能しませんが、奇妙なことに、エコー アウト$_FILES['file']['type']
すると、オーディオ ファイルの MIME タイプがエコー アウトされません。他のファイルタイプに対してこれを行うと、正常にエコーアウトされます。
音声ファイルのみの MIME タイプは提供されません。WAV および M4A ファイルで試してみましたが、これらのいずれでも返されません。それはファイルタイプの問題ですか、それとも xampp サーバーで .htaccess ファイルまたは MIME.types ファイルを編集する必要がありますか。また、アップロードされたファイルを検証するためのより良い方法はありますか?
また、これは私の xampp サーバーと、テスト目的で使用している無料のサーバーでも行われることに注意してください。
助けてくれてありがとう。