为了账号安全,请及时绑定邮箱和手机立即绑定

无法使用 php 解压文件

无法使用 php 解压文件

PHP
阿晨1998 2023-08-19 17:28:09
我的网络服务器中有一个文件夹,用于存放需要解压的 zip 文件。我想用 php 来做到这一点,这是我尝试过的,但它不起作用:<?php$file = $_GET["file"];$zip = new ZipArchive;$res = $zip->open($file+'.zip');$zip->extractTo('./');$zip->close();?>zip 文件与 php 文件位于同一文件夹中,但是当我转到 php 页面时它什么也不做。通过进行一些测试,我发现脚本在线上死掉$zip = new ZipArchive;了我怎样才能让它发挥作用?
查看完整描述

3 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

<?php


$fileName = $_GET['file'];  // get file name in the URL param "file"


if (isset($fileName)) {    // if $fileName php variable is set than    



    $zip = new ZipArchive;          // create object

    $res = $zip->open($fileName);   // open archive

    if ($res === TRUE) {

      $zip->extractTo('./');        // extract contents to destination directory

      $zip->close();               //close the archieve    

      echo 'Extracted file "'.$fileName.'"';

    } else {

      echo 'Cannot find the file name "'.$fileName.'" (the file name should include extension (.zip, ...))';

    }

}

else {

    echo 'Please set file name in the "file" param';

}


?>

查看完整回答
反对 回复 2023-08-19
?
四季花海

TA贡献1811条经验 获得超5个赞

我已经找到问题了。代码很好,但托管服务不行,而且他们现在没有可用的 ZIP 扩展名



查看完整回答
反对 回复 2023-08-19
?
SMILET

TA贡献1796条经验 获得超4个赞

试试这个代码。也$zip->open($file+".zip");改为$zip->open($file);. +(加号)不是 php 中的连接运算符


<?php

    // $_GET["file"] is set to `a.zip`


    $file = $_GET["file"];

    $zip = new ZipArchive;

    $res = $zip->open($file);

    $zip->extractTo('./');

    $zip->close();

?>


查看完整回答
反对 回复 2023-08-19
  • 3 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信