PHP解压站点上的文件

PHP解压站点上的文件,php,exec,new-operator,unzip,ziparchive,Php,Exec,New Operator,Unzip,Ziparchive,当用户想要在我的PHP站点(主机使用Ubuntu 16.04)上解压文件时,它适用于Linux或MAC用户,但不适用于Windows用户,只需上传zip文件而无需解压。 我使用了以下解决方案: echo exec(“解压缩$file\u name”,$result,$returnval) 或 $zip=新的ZipArchive; $res=$zip->open($file\u name); $zip->extractTo($dir); $zip->close() 还测试了PclZip库 $arc

当用户想要在我的PHP站点(主机使用Ubuntu 16.04)上解压文件时,它适用于Linux或MAC用户,但不适用于Windows用户,只需上传zip文件而无需解压。 我使用了以下解决方案:

echo exec(“解压缩$file\u name”,$result,$returnval)


$zip=新的ZipArchive;
$res=$zip->open($file\u name);
$zip->extractTo($dir);
$zip->close()

还测试了PclZip库
$archive=new PclZip($file\u name);
$result=$archive->extract(PCLZIP\u OPT\u PATH,$dir)

已解决! Windows和Linux浏览器发送不同的文件类型:
$\u文件['file']['type']
在Linux浏览器中是“application/zip”,但在windows中是“application/x-zip-compressed” 我使用检查文件类型的条件。
谢谢所有试图帮助我的人

你有没有在你的Windows PC上安装一个名为“解压”的命令行应用程序?如果是,它是否在web服务器运行的路径中?在第二个示例中,web服务器进程是否对
$dir
具有写入权限?运行
phpinfo()
以确定是否安装了zip扩展。这是我的web主机上的代码(它使用ubuntu 16.04),当用户在我的站点上解压缩文件时(如果他们有MAC或Linux),它可以工作,但对于Windows用户,只需在网站上上传zip文件,而不必解压。您是否收到任何错误?定义“不起作用”?您需要描述如何“压缩”文件。如果您使用相同的文件,则客户端操作系统不应考虑。我想这更多的是关于文件是如何压缩的。我在不同的笔记本电脑上测试了一个从Gmail下载的zip文件,它在Ubuntu上从我的笔记本电脑上解压,而不是在windows上从笔记本电脑上解压。我两者都用铬