首页 > 编程语言 >php使用ZipArchive解压压缩包

php使用ZipArchive解压压缩包

时间:2024-07-24 17:19:25浏览次数:16  
标签:解压 zip ZipArchive statInfo close php 压缩包

      // 处理照片压缩包
        $zip = new \ZipArchive();
        // 获取压缩包内容照片数量
        $path = 'static/oa/img/staImport/' . date('Ymd') . '/' . date('His');
        if ($zip->open($param['fileUrl']) === TRUE) {
            for ($i = 0; $i < $zip->numFiles; $i++) {
                $statInfo = $zip->statIndex($i, \ZipArchive::FL_ENC_RAW);
                if (mb_detect_encoding($statInfo['name']) != 'UTF-8') {
                    $zip->renameIndex($i, iconv('GBK', 'UTF-8//IGNORE', $statInfo['name']));
                }
            }
            $zip->close();
            $zip->open($param['fileUrl']);
            // 解压文件到 指定目录
            $zip->extractTo($path);
            $zip->close();
        } else {
            return '打开zip文件失败,请重新上传zip文件';
        }

 

标签:解压,zip,ZipArchive,statInfo,close,php,压缩包
From: https://www.cnblogs.com/mldyfre/p/18321308

相关文章

  • PHP现代化构建工具: 无需修改任何代码和扩展将你的ThinkPHP项目性能提高20倍
    我要分享一个令人激动的黑科技:PRipple使用这个项目能够在无需修改任何代码且无需第三方扩展的前提下,将你的Laravel项目性能提高20倍。他仅仅依赖于PHP原生的pcntl/posix/fiber/sockets项目灵感这个项目灵感来源于PHP8.1引入的fiber特性,以及Swoole和Workerman的......
  • php判断文件真实后缀(防止修改后缀)
    <?php//判断文件真实类型functionget_file_type($fileName){$file=fopen($fileName,"rb");$bin=fread($file,2);//只读2字节fclose($file);$strInfo=@unpack("C2chars",$bin);//将字节转换为字节二进制的数组$typeCode=(int)($str......
  • PHP中static的使用
    本文由ChatMoney团队出品PHP,作为一种面向对象的编程语言,为开发者提供了丰富的特性和功能,助力构建高效的应用程序。其中,static关键字在类和方法中的应用尤为重要,它提供了一种独特的变量和方法访问机制。本文将深入探讨static关键字的使用方法,并通过具体代码示例来指导实践。一......
  • 使用PHP实现悲观锁的最佳实践。里面包含源码
    在数据库编程中,确保数据的一致性和完整性是非常重要的。当多个用户或线程同时访问和修改同一条数据记录时,可能会出现并发问题,比如读写冲突、数据丢失等。为了解决这些问题,我们可以使用并发控制机制,其中一种常见的方法就是悲观锁。什么是悲观锁?悲观锁是一种并发控制策......
  • laravel11: php时间不正确
    一,问题表现服务器时间正确,php时间正确laravel时间不正确未使用laravel框架使用laravel框架:可以看到,使用laravel框架时,时间早8个小时二,解决:  1,配置timezone,编辑php.ini  配置timezone,PRC和Asia/Shanghai均可;date.timezone=Asia/Shanghaidate.timezone=......
  • 轻松掌握:两个方法合并ZIP分卷压缩包
    在文件传输和存储过程中,为了绕过文件大小限制或优化下载速度,我们常常会将大型文件分割成多个较小的ZIP分卷压缩包。然而,在接收这些分卷后,如何正确地将它们合并回原始的ZIP文件,可能是许多用户面临的一个问题。本文将介绍两种简单有效的方法来合并ZIP分卷压缩包。方法一:我们可......
  • thinkPhp跨域topthink/think-cors
    composerrequiretopthink/think-corsThinkPHP跨域扩展安装composerrequiretopthink/think-cors配置配置文件位于 config/cors.php['paths'=>['api/*'],...]paths配置示例允许api目录下的跨域请求,* 代表通配符。['paths'=>[&......
  • PHP 多线程和异步编程的常见陷阱
    本文由ChatMoney团队出品在PHP开发中,多线程和异步编程是提高应用性能和响应速度的重要手段。然而,这些技术也带来了许多挑战和陷阱,如共享状态冲突、死锁、超时、资源泄漏以及调试困难等。本文将详细探讨这些陷阱,并提供相应的解决方案和代码示例。共享状态冲突在多线程环......
  • 阿里云:用php开发短信接口
    一,准备工作:在阿里云控制台->短信服务中,需完成以下三项的配置,等官方审核通过后,则可以使用接口二,下载安装php的sdk1,官方文档地址https://help.aliyun.com/zh/sms/developer-reference/sdk-product-overview/?spm=a2c4g.11186623.0.0.1db061a5jSzBwS2,用composer下载安装liu......
  • php通用防伪溯源查询系统可自定义字段
    性能描述:1.适合中小规模查询,建议100万条以内(具体视服务器配置)。2.自定义前台是否使用验证码,即可以自行开启/关闭验证码。3.灵活支持N列内容,只要前几列按照规则;其余列均自定义内容。4.可单个新加,也可以批量外部导入。。。后台功能:1.单管理员登录页面,修改密码页面......