压缩文件失败

来源:2-18 文件压缩与解压缩操作

www974

2017-09-02 09:46:46

返回的都是true , 但没有产生zip文件、

<?php
/**
 * 压缩单个文件
 * @method zip_file
 * @param  string   $filename 文件名
 * @return boolean             true|false
 */
function zip_file(string $filename){
  if(!is_file($filename)){
    return false;
  }
  $zip=new ZipArchive();
  $zipName=basename($filename).'.zip';
  //打开指定压缩包,不存在则创建,存在则覆盖
  if($zip->open($zipName,ZipArchive::CREATE|ZipArchive::OVERWRITE)){
    //将文件添加到压缩包中
    // if($zip->addFile($filename)){
    //   @unlink($filename);
    // }
    $zip->close();
    return true;
  }else{
    return false;
  }
}

 var_dump(zip_file('note.txt'));

 ?>


返回正常:

C:\wamp\www\file4\demo1.php:27:boolean true

写回答

1回答

imooc_澈

2017-09-03

您好,按照您的程序逻辑,只要打开压缩包成功,不管将文件添加到压缩包里是否成功,都会返回true。首先要把您的代码中添加文件到压缩包的代码打开,小慕执行了一下,只要将@unlink($filename)去掉就能得到压缩后的文件,否则文件和压缩包都会一并删除哦。您尝试一下。如果解决了您的问题,请采纳,祝学习愉快~

0

0 学习 · 2569 问题

查看课程