在php中检查来自外部链接的音频和视频的媒体类型
有人知道如何从外部URL检查音频和视频的媒体类型吗在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($
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];