我想讀取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. 讀取csv文件的一部分
- 2. 從文本文件中讀取第一個數組部分php
- 3. 使Android XML讀取器僅讀取XML文件的一部分
- 4. 使用PHP讀取部分文本文件
- 5. 在PHP中讀取文件的部分零件爲1000字節
- 6. 文本文件讀取錯誤(部分)
- 7. 部分讀取文本文件
- 8. 從外部配置文件中讀取appSettings的一部分
- 9. MsBuild:使用ReadLinesFromFile讀取文件的一部分
- 10. 使用HTTP讀取文件的第一部分
- 11. 使用fread將文件的一部分讀取到緩衝區
- 12. 用C++讀取txt文件的一部分
- 13. 使用iostreams讀取文件的一部分
- 14. 如何用numpy讀取二進制文件的一部分?
- 15. 使用只讀的部分文件名在PHP中讀取圖像
- 16. 正在讀取來自遠程文件的部分內容(PHP)
- 17. Java:讀取文本文件的一部分
- 18. 如何跳過文件的一部分然後讀取一行?
- 19. 的file_get_contents獲取PHP文件的部分
- 20. 閱讀C中文件的一部分
- 21. 只讀文件中的一個部分
- 22. PHP無法讀取外部文件
- 23. 文件閱讀:獲取部分輸出
- 24. 批量讀取部分xml文件
- 25. 用PHP讀取XML文件
- 26. 用PHP讀取文件名
- 27. 用fread讀取PHP文件
- 28. 用php讀取txt文件
- 29. 用PHP讀取JSCON文件
- 30. 用PHP讀取XML文件
非常感謝! – Johan 2010-03-19 14:45:48
警告:不要忘記正確的錯誤處理! – soulmerge 2010-03-19 14:46:32