首页 > 后端开发 > php教程 > php压缩解压缩文件的代码

php压缩解压缩文件的代码

不言
发布: 2023-04-02 19:40:01
原创
6725 人浏览过

这篇文章主要介绍了关于php压缩解压缩文件的代码,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

注 需要安装zip扩展

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

/**

 * 压缩单个文件

 * @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)){

      $zip->close();

      @unlink($filename);

      return true;

    }else{

      return false;

    }

  }else{

    return false;

  }

}

// var_dump(zip_file('22.txt'));

// func_get_args

// test1.zip

/**

 * 多文件压缩

 * @method zip_files

 * @param  string    $zipName 压缩包的名称,.zip结尾

 * @param  string     $files   需要压缩文件名,可以是多个

 * @return boolean             true|false

 */

function zip_files(string $zipName,...$files){

  //检测压缩包名称是否正确

  $zipExt=strtolower(pathinfo($zipName,PATHINFO_EXTENSION));

  if('zip'!==$zipExt){

    return false;

  }

  $zip=new ZipArchive();

  if($zip->open($zipName,ZipArchive::CREATE|ZipArchive::OVERWRITE)){

    foreach($files as $file){

      if(is_file($file)){

        $zip->addFile($file);

      }

    }

    $zip->close();

    return true;

  }else{

    return false;

  }

}

// var_dump(zip_files('test1.zip','22.txt'));

// var_dump(zip_files('test2.zip','doUpload.php','downLoad.html','upload.html'));

/**

 * 解压缩

 * @method unzip_file

 * @param  string     $zipName 压缩包名称

 * @param  string     $dest    解压到指定目录

 * @return boolean              true|false

 */

function unzip_file(string $zipName,string $dest){

  //检测要解压压缩包是否存在

  if(!is_file($zipName)){

    return false;

  }

  //检测目标路径是否存在

  if(!is_dir($dest)){

    mkdir($dest,0777,true);

  }

  $zip=new ZipArchive();

  if($zip->open($zipName)){

    $zip->extractTo($dest);

    $zip->close();

    return true;

  }else{

    return false;

  }

}

登录后复制

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

使用PHP类库PHPqrCode生成二维码

PHP+jquery+ajax实现分页

以上是php压缩解压缩文件的代码的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板