当前位置:首页 > 技术分享

php利用ZipArchive类操作文件的实例

admin3年前 (2022-09-06)技术分享1896

ZipArchive类是专门用于文件的压缩与解压操作的类,通过压缩文件可以达到节省磁盘空间的目的,并且压缩文件体积更小,便于网络传输。

function filestozip($fileList,$filename=''){
        if(empty($fileList))return false;
        if(empty($filename))$filename=time().'.zip';
        $filename = "/uploads/temp/".$filename; // 压缩包所在的位置路径
        if(file_exists($filename))return $filename; 
        $zip = new \ZipArchive();
        $zip->open($filename,\ZipArchive::CREATE);   //打开压缩包
        foreach($fileList as $file){
            if(substr($file,0,4)=='http'){
                $ch = curl_init();
            	curl_setopt($ch, CURLOPT_POST, 0); 
            	curl_setopt($ch,CURLOPT_URL,$file); 
            	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
		        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
		        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
            	$fileContent = curl_exec($ch);
            	curl_close($ch);
                $zip->addFromString(basename($file), $fileContent);
            }else{
                $zip->addFile($file,basename($file));   //向压缩包中添加文件
            }
        }
        $zip->close();  //关闭压缩包]
        return $filename;
    }

有些接口还需要把压缩文件转为base64 便于传输

    function ZipFileToBase64String($filename){
        $base64 = null;
        $fileinfo = fopen($filename,"r");
        if($fileinfo){
            $filesize = filesize($filename);
            $content = fread($fileinfo,$filesize);
            $base64 = chunk_split(base64_encode($content));
        }
        fclose($fileinfo);
        return $base64;
    }


扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:https://blog.bitefu.net/post/411.html

分享给朋友:

“php利用ZipArchive类操作文件的实例” 的相关文章

安卓模拟器连接端口 及常用命令

下面是我总结和测试通过的:有的是搜集来的模拟器名称                     &nbs…

python3 selenium webdriver.Chrome php 爬取汽车之家所有车型详情数据[开源版]

介绍本接口是车型库api的补充,用于爬取汽车之家所有车型详情数据开源地址:https://gitee.com/web/CarApi/tree/master/python软件架构python3 selenium webdriver.Chrom…

阿里云盘 分享脚本 抢先实现文件分享功能

Win端基本所有浏览器均可进行安装安装地址:https://bbs.tampermonkey.net.cn/thread-427-1-1.html如何安装:Tampermoneky安装:谷歌浏览器参考:https://bbs.tamperm…

msixbundle怎么打开?win10后缀.MSIX安装包怎么安装使用

msixbundle怎么打开?win10后缀.MSIX安装包怎么安装使用

扩展名为 .msix的文件是Windows应用程序安装程序。微软推出的MSIX 作为EXE,MSI甚至AppX 软件包的替代品。在Windows 10中打开一个.MSIX 文件并开始安装打包的应用程序,只需双击该文件即可。但有也有不少朋友会…

Windows 11 LTSC 数字激活方法/HEU KMS Activator 数字激活/LTSC公key激活

Windows 11 LTSC 数字激活方法/HEU KMS Activator 数字激活/LTSC公key激活

Windows 11 Pro 转换成 Windows 11 Enterprise LTSC(Windows 11 企业版 LTSC) 并获得数字激 活方法1. 在Win11 Pro 中 导入LTSC 数字激 活证书:将 Windows LT…

apache限制某个目录下的php文件没有执行权限 解决图片木马

1. 使用.htaccess 文件限制 在要限制php执行的目录下,创建.htaccess文件,加入内容php_flag engine off.htaccess 下载地址(使用方法,下载后解压 上传.htaccess文件到附件目录)http…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。