我正在构建一个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文件,但无论哪种都没有返回一个mime类型。这是文件类型的问题吗?还是我需要编辑我的xampp服务器中的.htaccess文件或MIME.types文件?此外,有更好的方法来验证上传的文件吗?请注意,这是在我的xampp服务器和我用于测试目的的免费服务器上出现的问题。谢谢帮助。