gpt4 book ai didi

php - 使用 php 检查文件是否为存档文件(zip 或 rar)

转载 作者:可可西里 更新时间:2023-10-31 22:10:42 24 4
gpt4 key购买 nike

如何在不知道扩展名的情况下检查文件是否已存档(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$

关于php - 使用 php 检查文件是否为存档文件(zip 或 rar),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9098678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com