MIME类型的吉他专业文件?

时间:2012-01-11 19:37:42

标签: php upload mime guitar

在我的网站上我想让人们上传吉他专业文件。显然,这些没有特定的MIME类型(我测试过,它给了我'application / octet-stream')。有没有办法检查并100%确定文件是吉他专业文件,而不是别的什么? 感谢

2 个答案:

答案 0 :(得分:1)

从上传的文件中读取第一个字节。例如,这是我在创建类似功能时用来检查上传文件的方式。

$f = fopen($_FILES['tmp_name'], "rb");
fseek($f, 1);
$in = fgets($f, 19);
fclose($f);

if ($in == 'FICHIER GUITAR PRO') { ... }

因此从1号到19号阅读字符会给我字符串'FICHIER GUITAR PRO'。这种方法适用于我的gp4文件。我还习惯检查文件扩展名。 但请记住,为了过滤恶意上传,您无法进行真正的检查,因为伪造第一个字节以及扩展非常容易。因此,应始终对所有上传的文件进行一些额外的审核。

答案 1 :(得分:0)

您应该解析文件并查看版本字符串是否正确:

http://dguitar.sourceforge.net/GP4format.html