我正在使用php创建一个网站,我需要从用户上传音频文件并将其存储在MySql数据库中,并在需要时进行检索。
如果我们必须使用blob,那么如何检查文件是否属于音频类型以及如何处理它?</ p>
如果这不起作用,请告诉我其他方法。
答案 0 :(得分:2)
你的问题的简单答案是,你不能简单地检查BLOB,看看它在MySQL中的文件类型。您可以分析blob的前几个字节的标题,但这非常复杂。
执行此操作的正确方法是,当用户上传文件时,它会存储在临时位置,您可以访问它(并将其移动到更合理的位置或数据库)。使用fileinfo检查文件的mime类型: http://php.net/manual/en/function.finfo-file.php
然后将mime-type存储在blob旁边的新列中。
更新:如果您使用的是PHP&lt; 5.3.0然后这个解决方案允许你使用旧的(现已弃用的)函数检查mimetype:https://stackoverflow.com/a/8225754/775007