检查文件是否是PHP中的音频文件

68bkxrlz  于 2022-12-10  发布在  PHP
关注(0)|答案(5)|浏览(235)

我写代码上传音频文件(可以在任何格式.mp3,mp4,.wav和更多...)我不想写所有的条件,所有的MIME类型,然后检查上传的文件,以验证MIME类型。因为,我想接受所有的音频文件(而不仅仅是一个或两个格式)。
那么,有没有简单的方法来检查文件是否是音频的呢?
谢谢你,谢谢你

trnvg8h3

trnvg8h31#

所有的音频文件格式在MIME类型中都有"audio/"。因此,我们可以检查$_FILES['file']['mime_type']并应用preg_match()来检查"audio/"是否存在于此MIME类型中。

busg9geu

busg9geu2#

下面是简单的函数

<?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';
        }
    }
}
?>
qco9c6ql

qco9c6ql3#

您可以一次选择通用音频扩展或所有扩展到一个阵列中。然后通过您拥有的阵列进行验证。

rryofs0p

rryofs0p4#

你可以看到用“console.log(document.getElementById(“your_file”).files[0])”从控制台得到的数据之一是“type:audio/mpeg”。因此,您可以验证ur文件类型,如下所示:

$format_audio = $_FILES['your_file']['type'];
if ($format_audio != "audio/mpeg") {
   // your command
}
7dl7o3gd

7dl7o3gd5#

你必须知道所有的哑剧类型的音频和视频,这是列表的音频和视频哑剧

<?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";
}

相关问题