向已有压缩文件添加新文件

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

慕盖茨8324958

2017-12-19 13:42:37

/**
* 向已有压缩包添加文件
* @method  zip_addFile
* @param   string  $zipName  压缩包名称
* @param   string  $filename 解压要压缩文件
* @return  bool                rue|false
*/
function zip_addFile(string $zipName,string $filename){
   //检测要解压压缩包是否存在
   if(!is_file($zipName)){
       return false;
   }
   if(!is_file($filename)){
       return false;
   }
   $zip=new ZipArchive();
   if($zip->open($zipName)) {
       if ($zip->addFile($filename, $zipName)) {
           echo 'OK';
           return true;
       } else {
           echo '失败';
           return false;
       }
   }
   $zip->close();
   return false;
}
var_dump(zip_addFile('11.txt','test1.zip'));

http://img.mukewang.com/climg/5a38a66900016b7908110542.jpg我做一个向已有压缩包添加文件,为何输出OK返回trun但是test1.zip里面还是没有11.txt

写回答

1回答

guly

2017-12-19

你好,addFile()函数的两个参数含义解释如下:

$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
    $zip->addFile('11.txt', 'newname.txt');//标识11.txt文件改成newname.txt文件压缩在test压缩包里面
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}

如果想让11.txt到压缩包里面可以白代码:

if ($zip->addFile($filename,$zipName)) {

修改为:

if ($zip->addFile($filename,$filename)) {

如果解决您的问题请采纳,祝学习愉快!

0

0 学习 · 2569 问题

查看课程