在php中检查来自外部链接的音频和视频的媒体类型

在php中检查来自外部链接的音频和视频的媒体类型,php,mime-types,Php,Mime Types,有人知道如何从外部URL检查音频和视频的媒体类型吗 function get_url_mime_type($url) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($

有人知道如何从外部URL检查音频和视频的媒体类型吗

function get_url_mime_type($url) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_NOBODY, 1);
    curl_exec($ch);
    return curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
}

要获取文件的MIME,请使用以下代码:

<?php
$finfo = new finfo(FILEINFO_MIME, "/usr/share/misc/magic"); // return mime type a.k.a. mimetype extension

/* get mime-type for a specific file */
$filename = "/usr/local/something.txt";
echo $finfo->file($filename);
?>

要获取外部文件的MIME类型,可以使用cURL HEAD request获取头文件(可能不准确,因为web服务器可能没有正确的响应),也可以使用

这也要求类似的事情。看看吧


参考资料:

您是指媒体的MIME类型吗?还是它的编解码器?你试过什么?是的,媒体的MIME类型希望答案有帮助。如果我对音频URL使用curl_getinfo(),我得到的媒体类型是“text/html”,这就是问题所在。你是否使用HEAD请求作为我的参考问题?明白了!但您没有请求文件。您正在请求一个页面。您的URL应该如下所示
$tokens = explode('.', $filename);
$extension = $tokens[count($tokens)-1];