如何在不知道扩展名的情况下检查文件是否已归档(zip或rar).我需要使用PHP找到它.
我不能使用Fileinfo因为它没有安装和安装服务器上的任何其他软件包出来的问题.
更新:
Zip模块没有安装,我不能安装额外的包.
我不想使用mime_content_type,因为它不推荐使用
谢谢
od -c的输出:
0000000 R a r ! 032 \a \0 317 220 s \0 \0 \r \0 \0 \0 0000000 P K 003 004 \n \0 \0 \0 \0 \0 \0 \0 ! \0 \0 \0
你可以使用这样的东西:
<?PHP $fh = @fopen($argv[1],"r"); if (!$fh) { print "ERROR: couldn't open file.\n"; exit(126); } $blob = fgets($fh,5); fclose($fh); if (strpos($blob,'Rar') !== false) { print "Looks like a Rar.\n"; } else if (strpos($blob,'PK') !== false) { print "Looks like a ZIP.\n"; } else { print "I dunno.\n"; exit(1); } ?>
而我的输出:
ghoti@baz:~ 423$./filePHP.PHP A2.rar Looks like a Rar. ghoti@baz:~ 424$./filePHP.PHP OLDIE.zip Looks like a ZIP. ghoti@baz:~ 425$./filePHP.PHP 1-11-1.PDF I dunno. ghoti@baz:~ 426$