我想读取MP3文件的最后1 MB,并为文件的该部分计算SHA1校验和。我想要这样做的原因是,当我寻找重复的MP3时,即使它是exakt相同的音频文件,标题信息(歌曲标题,专辑等)也可能不同,所以我想我会更好地进行校验和文件的一部分,而不是整个文件的一部分。有没有这样做的有效方式?用PHP读取文件的一部分
1
A
回答
4
3
尝试fseek
。这将在文件结束之前将指针移动到〜1024 kbytes。
fseek($fp, -1024 * 1024, SEEK_END);
6
MP3对歌曲/专辑/艺术家没有任何固有的“标题”信息。这由ID3处理,它可以位于文件的前面(ID3v2,随机大小,取决于指定了多少信息)或末尾(ID3v1,固定的128字节)。要通过校验和正确识别MP3,您必须确保忽略ID3标签的两个版本。此外,可以在.wav容器中嵌入MP3,在这种情况下,可以使用.wav标题和其他内容。
当然,总会有两首歌用不同的比特率,采样率,甚至不同的CD翻录器和编码器编码。所有将产生完全不同的文件,但仍然是“同一首歌曲”。
+0
非常有趣,感谢您的详细信息。 – Johan 2010-04-01 10:08:04
相关问题
- 1. 使Android XML读取器仅读取XML文件的一部分
- 2. 文本文件读取错误(部分)
- 3. 从外部配置文件中读取appSettings的一部分
- 4. 使用HTTP读取文件的第一部分
- 5. MsBuild:使用ReadLinesFromFile读取文件的一部分
- 6. 用C++读取txt文件的一部分
- 7. 使用fread将文件的一部分读取到缓冲区
- 8. 使用只读的部分文件名在PHP中读取图像
- 9. 只读文件中的一个部分
- 10. PHP无法读取外部文件
- 11. 文件阅读:获取部分输出
- 12. 用php读取txt文件
- 13. 用PHP读取JSCON文件
- 14. 用PHP读取文件名
- 15. 用PHP读取XML文件
- 16. 用PHP读取.CONF文件
- 17. PHP读取文件
- 18. 在阅读文本文件时,它只读取其中的一部分
- 19. 如何读取dBase文件的一部分
- 20. 写入后读取文件的一部分
- 21. 如何一次读取批量/部分/ 1000行的文件
- 22. 在powershell中读取文件的一部分
- 23. 只读取和处理XML文件的一部分
- 24. 在qt中读取svg文件的一部分
- 25. 在Swift中读取文件的一部分
- 26. XML的XPath读取大文件,从一个部分到其他
- 27. 使用numpy.genfromtxt()读取CSV文件 - 分隔符作为行名称的一部分
- 28. 包含php文件的一部分?
- 29. Java:分两部分读取文件 - 部分为字符串,部分为字节[]
- 30. 阅读PHP中用于创建标签的文件部分
非常感谢! – Johan 2010-03-19 14:45:48
警告:不要忘记正确的错误处理! – soulmerge 2010-03-19 14:46:32