Php 选中上载文件,仅接受文件zip格式

Php 选中上载文件,仅接受文件zip格式,php,file-upload,jquery-file-upload,Php,File Upload,Jquery File Upload,在我的项目中,可以下载/上传带有一些配置/图像等的项目备份 我必须只接受.zip格式的上传备份,为此,我使用此代码检查客户端和服务器端的格式 客户端,使用jQuery表单 var ftype=$('#FileInput')[0].files[0].type; switch(ftype){ case 'multipart/x-zip': break; case 'application/zip': break; case 'applica

在我的项目中,可以下载/上传带有一些配置/图像等的项目备份

我必须只接受.zip格式的上传备份,为此,我使用此代码检查客户端和服务器端的格式

客户端,使用jQuery表单

var ftype=$('#FileInput')[0].files[0].type;
switch(ftype){
      case 'multipart/x-zip':
      break;
      case 'application/zip':
      break;
      case 'application/x-zip-compressed':
      break;
      case 'application/x-zip':
      break;
      default: .... //error type
}
服务器端

每个O.S都有不同的方式来识别.zip文件,事实上,在交换机中没有application/octet流的情况,因此我决定询问这个问题,因为一个用户告诉我这个问题

所以,问题是:在哪里可以找到关于这个的文档,或者在哪里可以找到O.S识别.zip文件的各种方式的列表。
谢谢

您根本不应该依赖浏览器传输的文件类型字符串;上传后,使用查看文件数据而不是文件名的命令检查文件的实际类型。请记住,来自浏览器的所有信息都是不可信的,用户可以随意设置这些信息。当然,事实上,zip文件的数据控制是在控制备份类型之后完成的。我插入此控件是为了告诉用户备份的格式不兼容。如果兼容,我可以控制zip文件中的数据。请参阅
switch(strtolower($_FILES['FileInput']['type'])){
      case  'multipart/x-zip':
      break;
      case  'application/zip':
      break;
      case  'application/x-zip-compressed':
      break;
      case  'application/x-zip':
      break; 
     default: exit("1");
 }