Я пишу код для загрузки аудиофайла (может быть в любом формате .mp3, mp4, .wav и многих других …) Я не хочу писать все условия для всех типов mime, а затем проверять загруженный файл, чтобы проверить mime type. Потому что я хочу ПРИНИМАТЬ ВСЕ аудиофайлы (не только один или два формата).
Итак, есть ли простой способ проверить, является ли файл аудио или нет?
Спасибо!
Все форматы аудиофайлов имеют "audio/"
общий». Итак, мы можем проверить $_FILES['file']['mime_type']
и применить preg_match()
чтобы проверить, существует ли "audio/"
в этом типе mime или нет.
Вот простая функция
<?php if(!function_exists('mime_content_type')) { function mime_content_type($filename) { $mime_types = array( // audio/video 'mp3' => 'audio/mpeg', ); $ext = strtolower(array_pop(explode('.',$filename))); if (array_key_exists($ext, $mime_types)) { return "THIS IS AUDIO FILES"; } else { return 'application/octet-stream'; } } } ?>
Вы можете выбрать общие звуковые расширения или все расширения в массив один раз. Затем проверьте этот массив.
Вы должны знать все типы аудио и видео mime, это список аудио и видео мимов
<?php $audio_mime_types = array( 'audio/mpeg' ); ?>
а затем проверьте свой файл, используя этот
$path = $_FILES['your_files_input']['name']; $ext = mime_content_type($path); if(!empty($audio_mime_types[$ext])){ return "This is audio video file"; }