php 如何在上传文件到服务器之前检查文件是否是存档?

iswrvxsc  于 2023-01-08  发布在  PHP
关注(0)|答案(1)|浏览(119)

我需要检查一个将要通过输入字段上传的文件是否真的是一个存档。对于图像,我可以只做 $my_image ['type '] 来获取类型,但如果我对. rar文件做同样的操作,返回的类型是'application/octet-stream'。我已经尝试打开该文件来检查它是否是一个存档,后来才发现,显然,在上传文件之前,无法对文件执行此操作。
我该何去何从?

41ik7eoe

41ik7eoe1#

尝试使用pathinfo()函数来获取文件扩展名,然后检查它是否是与您要支持的归档文件格式对应的扩展名

$fileInfo = pathinfo($_FILES["my_file"]["name"]);
$fileExt  = $fileInfo["extension"];

if($fileExt == "zip" || $fileExt == "rar" || $fileExt == "tar" || $fileExt == "gz")
    // your file is an archive
else
    // your file is not an archive

您也可以尝试另一种解决方案,使用mime_content_type获取上载文件的MIME类型,并检查它是否对应于归档文件格式

相关问题