压缩文件失败

压缩文件失败

返回的都是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

登陆购买课程后可参与讨论,去登陆

1回答
imooc_澈 2017-09-03 20:49:25

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

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师