首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >getid3:从远程服务器下载完整的mp3数据

getid3:从远程服务器下载完整的mp3数据
EN

Stack Overflow用户
提问于 2017-11-27 02:53:04
回答 1查看 521关注 0票数 0

我使用getid3从远程URL获取文件大小和持续时间。getid3不适用于远程URL,因此需要将mp3下载到临时位置,读取数据,然后删除数据。

代码:

代码语言:javascript
复制
<?php $filename = tempnam('/tmp','getid3');
if (file_put_contents($filename,file_get_contents('http://feeds.soundcloud.com/stream/336401044-scott-johnson-27-tms-1314-pm.mp3', false, null, 0, 32768))) {
if (require_once('id3/getid3.php')) {
$getID3 = new getID3;
$ThisFileInfo = $getID3->analyze($filename);
echo '<pre>'.print_r($ThisFileInfo, true).'</pre>';
}
unlink($filename);
};?>

我的问题是,它只下载mp3文件的前32768 or,没有显示正确的文件大小(显示为最大文件32768)或文件的正确持续时间。如果我增加最大尺寸,代码就会崩溃。

有没有一种方法可以下载完整的mp3,或者找到一种方法来获得适当的头大小而不下载完整的文件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-27 17:06:04

ID3v1标记位于文件的末尾,而不是开始处。因此,在下载文件末尾的一部分(使用cURL完成范围请求)或下载整个文件之前,您将无法读取它们。

如果您想要ID3v2,那么这些内容将位于文件的开头。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47503314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档