首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何以低内存使用率解压tar.gz文件[php 7]?

在PHP 7中,可以使用以下代码以低内存使用率解压tar.gz文件:

代码语言:txt
复制
function extractTarGz($file, $destination) {
    $bufferSize = 4096; // 缓冲区大小
    $tar = gzopen($file, 'rb'); // 打开tar.gz文件

    if (!$tar) {
        return false;
    }

    // 创建目标文件夹
    if (!is_dir($destination)) {
        mkdir($destination, 0755, true);
    }

    // 循环读取并解压文件
    while ($buffer = gzread($tar, $bufferSize)) {
        $fileData .= $buffer;
        $pos = strpos($fileData, "\n");

        while ($pos !== false) {
            $line = substr($fileData, 0, $pos);
            $fileData = substr($fileData, $pos + 1);

            if (substr($line, -1) == '/') {
                // 创建目录
                if (!is_dir($destination . '/' . $line)) {
                    mkdir($destination . '/' . $line, 0755, true);
                }
            } else {
                // 解压文件
                file_put_contents($destination . '/' . $line, $fileData);
            }

            $pos = strpos($fileData, "\n");
        }
    }

    gzclose($tar); // 关闭文件

    return true;
}

// 使用示例
$tarFile = 'path/to/archive.tar.gz';
$destinationFolder = 'path/to/destination';
extractTarGz($tarFile, $destinationFolder);

这段代码使用了逐行读取的方式,将tar.gz文件解压到指定目录。它避免了一次性将整个文件读入内存,从而降低了内存使用率。

推荐的腾讯云相关产品:腾讯云对象存储(COS)。

腾讯云对象存储(COS)是一种高可用、高可靠、强安全的云端存储服务,适用于存储和处理任意类型的文件,包括文档、图片、音视频等。您可以将解压后的文件存储到腾讯云对象存储中,实现文件的长期保存和访问。

产品介绍链接地址:腾讯云对象存储(COS)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Linux系统之常用命令

    第4部分:内存消耗情况,见free命令 第5部分:FIELDS / Columns PID:进程Id USER:启动进程的用户 PR:进程优先级 NI:负数代表高优先级,正数代表优先级,零表示进程优先级在调度室不会被...:进程使用的共享内存(Shared Memory Size (KiB)),对应free命令的shared S:进程状态,见Linux系统之进程状态 %CPU:CPU使用率 %MEM:内存使用率 TIME...理论上(CentOS7之前,可用内存和已用内存需要自己算): 可用内存 = free + buff/cache 已用内存 = used - buff/cache 实际上(CentOS7之后,可用内存和已用内存直接给出了...解压 tar –xvf xx.tar -> 解压tar包 tar -xzvf xx.tar.gz -> 解压tar.gz 总结: *.tar 用 tar –xvf 解压 *.gz 用 gzip -...d或者gunzip 解压 *.tar.gz和*.tgz 用 tar –xzf 解压 *.bz2 用 bzip2 -d或者用bunzip2 解压 *.tar.bz2用tar –xjf 解压 *.Z 用 uncompress

    1.4K10

    24-性能分析-基础

    服务器 组成 硬件 软件 硬件 cpu 内存 磁盘 网卡 软件 操作系统 windows Linux Linux本身就是一个多用户的系统 Linux作为服务器,无图像,所有的操作,都是通过命令 其他 jre...这个内容不在磁盘上,而在内存,可以直接查看、修改系统信息 /root:超级权限者的主目录 /run:临时文件,系统启动的信息 /srv:服务启动后,需要提取的数据 /var:不断扩充的动力,日志 /tmp...用户权限 r:读 w:写 x:执行 -:无权限 一般使用chmod 777 文件名来修改权限 7 = 4 + 2 + 1 第11个 文件硬链接数 第12个 归属用户Username 使用chown修改...文件 可以在任意linux发行版本中安装 解压 tar -xzvf **.tar.gz 进入解压文件夹 cd ** 检查编译 ....6.5 sy, sysctl 系统内核态cpu使用率 0.0 ni, nice 进程优先级切换cpu使用率 93.5 id, idolt 空闲 0.0 wa, wait等待 0.0 hi, hardware

    33420

    ftp在线解压-php程序

    php在线解压程序,在线解压zip文件php程序 有时候,我们用FTP上传大连文件太慢了,而且容易出错。...PHP在线解压程序,在线解压zip文件php程序 下载:unzip.zip  PHP在线解压程序的使用方法: 1,下载上面的zip文件解压成unzip.php,把这个unzip.php用ftp上传到你的网站.../目录; 2,用ie浏览器访问unzip.php http://你的域名/unzip.php; 3,第一次访问,会要你设置密码,这是为了防止其他人随便访问此程序,请设置一个复杂点的密码,但你自己要能记住...7,注意:zip文件最好不要超过8M,解压完成后,可以删除unzip.php文件。...如果忘记密码,可以删除pass.php文件; 8,如果你下载的是.gz 或 .tar.gz 文件,请先在你的电脑上解压,然后再压缩成zip格式的文件上传; 9,在非Windows环境下将压缩包解压以后若所解压的程序的安装使用出现问题请认真检查程序的目录和文件权限

    2.6K20

    Linux下的tar压缩解压缩命令使用

    webs //将webs目录里所有文件打包到webs.tar tar -xvf file.tar //解压 tar包 //.tar.gz压缩解压: tar -czf webs.tar.gz webs...//将webs目录里所有文件打包成webs.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为webs.tar.gz tar -xzvf file.tar.gz //解压 tar.gz...其实这里的命名是自由命名的,: tar -cvf webs.mz webs //直接打tar包并命名为webs.mz tar -czf webs.mz webs //将文件打包成tar包,然后用gzip...chain-Algorithm) 基于著名的LZ77压缩算法改进的压缩/解压工具,特点:高压缩率,高解压速度,内存消耗,lzma命令行工具使用方式和gzip,bzip2类似,对已经熟悉gzip,bzip2...2,lzma拥有比gzip,bzip2更高的压缩比率,压缩后文件更小,纯文本文件压缩更加明显,在解压方面比bzip2速度快出数倍,对于想要有较高的压缩率,又不想消耗太多内存,lzma是首先。

    3.4K20

    LInux 命令大全

    tar 参数 newname.tar 源文件:打包 tar 参数 源文件解压 -cvf:打包时显示内容 -xvf:解压时显示过程 -c:打包 -x:解压.tar.gz -z:压缩包 -v:显示过程...-f:使用档案名字 .tar:打包名 .tar.gz:压缩包 tar -zvf 包名.tar 文件解压.zip压缩包: unzip 123.zip 防火墙 /etc/sysconfig/iptables...修改ip service iptables restart:linux6重启防火墙 systemctl start/status/disable/stop/restart firewalld:linux7防火墙启动...cpuinfo | wc -l :查看有几核cpu sar -u 1 1|sed -n '4p'|awk '{print $NF} :查看cpu空闲率 要 yum install sysstat free :内存信息...uptime :系统相关信息,运行时间,连接数,负载 df :查看当前目录下文件使用等信息 iostat:设备信息,cpu使用率,设备信息

    3.2K10

    宝塔Linux面板之好用免费的中文Linux VPS主机控制面板适合快速建站

    5、宝塔Linux面板的PHP已经可以选择PHP 7了,性能提升非常大:PHP 7安装使用体验:性能大提升,兼容性强,扩展支持不够,升级PHP要谨慎。...Mysql也可以选择最新的5.7,不过如果VPS内存小的话则无法选择安装。...2、在线文件管理。你可以直接在线打包、支持批量上传、下载、文件复制、移动、删除、在线编辑、图片在线预览、目录压缩、(zip、tar.gz)解压功能。 3、你可以直接上传文件。...5、另外就是宝塔Linux面板直观的图表功能了,在首页可以直接看到内存、CPU使用率。 6、宝塔Linux面板可以实时显示VPS服务器的带宽流量。...2、如果发现网站运行出现问题,可以直接在宝塔Linux面板后台重要Nginx、PHP、MysqL等服务器进程。 3、你也可以直接修改PHP允许上传文件大小。

    6.2K21

    windows:powershell下解压tar.gz文件

    操作如下: powershell tar -xzf 路径\文件名.tar.gz -C 解压到的路径 这里: -xzf 表示解压操作:x 代表解压,z 代表处理gzip压缩,f 代表指定文件名。...路径\文件名.tar.gz 是你的.tar.gz文件的路径和文件名。 -C 后面跟的是想要解压到的目标文件夹的路径。 2....使用7-Zip或其他第三方软件 如果系统中没有内置的tar命令,或者更喜欢使用图形界面,可以安装第三方软件7-Zip。...安装后,可以在PowerShell中使用以下命令: powershell & "C:\Program Files\7-Zip\7z.exe" x 路径\文件名.tar.gz -o解压到的路径 & "C...:\Program Files\7-Zip\7z.exe" x 解压到的路径\文件名.tar -o最终解压路径 这里: 第一个命令是解压.tar.gz文件为.tar。

    1.3K10

    在CentOS 7上安装Magento(Install Magento on CentOS 7 译文)

    你需要为PHP和Magento分配最多2GB的内存才能使用; 在较小内存的Linode上运行Magento可能会导致服务器崩溃或在中到大流量情况下不可靠。.../error.log date.timezone = America/New\\_York 这为PHP的date()函数设置了时区,并对PHP可以使用的内存量施加了2GB的限制。...选择以.tar.gz扩展名结尾的选项,然后点击下载。请务必记下保存下载文件的位置。 ? 在此步骤中,您还可以下载带有可选样本数据的软件。无论您选择此版本还是基本版本都取决于您。...-2.\*.tar.gz user@yourhost:~/ 如果,您正在运行Windows,或者无法使用命令行工具scp,则可以使用FTP客户端Filezilla`。...导航到您在虚拟主机文件中指定的文档根目录: cd /var/www/html/example.com/public\_html 将存档直接提取(即解压)到您的webroot中,就像您在下一步中所做的那样

    9.4K50

    在CentOS 7上安装Magento

    你需要为PHP和Magento分配最多2GB的内存才能使用; 在较小内存的Linode上运行Magento可能会导致服务器崩溃或在中到大流量情况下不可靠。.../error.log date.timezone = America/New\\_York 这为PHP的date()函数设置了时区,并对PHP可以使用的内存量施加了2GB的限制。...选择以.tar.gz扩展名结尾的选项,然后点击下载。请务必记下保存下载文件的位置。 [00mu3qxx0l.png] 在此步骤中,您还可以下载带有可选样本数据的软件。...-2.\*.tar.gz user@yourhost:~/ 如果,您正在运行Windows,或者无法使用命令行工具scp,则可以使用FTP客户端Filezilla`。...导航到您在虚拟主机文件中指定的文档根目录: cd /var/www/html/example.com/public\_html 将存档直接提取(即解压)到您的webroot中,就像您在下一步中所做的那样

    14K60

    Centos7安装PHP及Nginx的教程详解

    一、安装PHP 随着微信13年开始大火,php的运用也再次火了起来,市面上很多企业都选择使用php作为其应用后台,个人认为原因有 1、php的成本 2、php的入门快 3、php的开发周期相对较短 4...官网http://php.net/downloads.php 查看所要下载的tar.gz链接,如下图所示: ?...下载文件: wget http://tz1.php.net/distributions/php-7.2.10.tar.gz 解压文件: tar -zxvf php-7.2.10.tar.gz 进入解压文件目录.../nginx-1.8.0.tar.gz 解压文件: tar -zxvf nginx-1.8.0.tar.gz 进入解压文件目录: cd nginx-1.8.0 然后通过命令编译安装: ....至此,centos7下的php以及nginx的安装就结束了,有更多centos服务器端配置交流,可在文末留言评论。

    1.9K31

    原 Intellij IDEA必要条件

    硬件要求 最小1 GB内存 , 推荐2 GB 300MB硬盘空间+最少1GB缓存空间 1024x768 最小分辨率 系统要求 为了使Intellij IDEA运行起来,你不需要在你的机器上安装任何JAVA...JDK不是利用IDEA开发WEB、PHP、Ruby或者Python项目的必要工具,只是在开发JAVA的时候需要安装独立的JDK环境。无论如何,请不要用我们绑定的jre进行JAVA开发。...WINDOWS 系统要求 安装 Microsoft Windows 10/8/7/Vista/2003/XP (incl.64-bit) 从下载页面下载Intellij IDEA 开发java程序是需要安装符合你项目要求的...or ideaIU-*.dmg 文件 注意:不能使用内置的jre进行开发,只能被平台自己使用 复制Intellij IDEA到你的应用目录 LINUX 系统要求 安装 从下载页面下载-*.tar.gz...开发java程序是需要安装符合你项目要求的JDK 解压安装包到制定目录(自己定义) 注意:不能使用内置的jre进行开发,只能被平台自己使用 切换到解压目录下/bin目录,运行idea.sh

    63050

    大数据开发工程师基本功修炼之Linux学习笔记(二)

    命令格式如下 # 压缩文件 tar -zcvf 打包压缩文件名.tar.gz 被压缩的文件/目录 # 解压文件(记忆敲门: 至孝潍坊) tar -zxvf 打包文件.tar.gz # 解压缩到指定路径...tar -zxvf 打包文件.tar.gz -C 目录路径 tar 的选项说明 命令 英文 含义 z gzip 使用gzip压缩和解压缩 j bzip2 使用bzip2压缩和解压缩 练习1: 将1.....tar.gz 被打包压缩的目录或文件名 解包解压缩: tar -zxvf 打包之后的文件名.tar.gz [ -C 指定解包位置 ] 3.3 第三步: 使用 bzip2 格式 压缩 和 解压缩...负值表示高优先级,正值表示优先级m RES 进程使用的、未被换出的物理内存大小,单位kb SHR 共享内存大小,单位kb S 进程状态。...D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 %CPU CPU使用率 %MEM 进程使用的物理内存百分比 TIME+ 进程使用的CPU时间总计,单位1/100秒

    42740

    30个高效的Linux命令技巧

    ,按F4就会自动添加注释,省了不少时间: 2、查找并删除/data这个目录7天前创建的文件 # find /data -ctime +7 -exec rm -rf {} \; # find /data...,后面也可以跟多个 4、查看tar包存档文件,不解压 # tar tf data.tar.gz #t是列出存档文件目录,f是指定存档文件 5、使用stat命令查看一个文件的属性 访问时间(Access...-05-09 10:53:14.395999032 -0400 Change: 2018-05-09 10:53:38.855999002 -0400 6、批量解压tar.gz 方法1: # find...-name "*.tar.gz" -exec tar zxf {} \; 方法2: # for tar in *.tar.gz; do tar zxvf $tar; done 方法3: # ls *.tar.gz...find ./ -type f -size 0 -exec rm -rf {} ; #此命令不要用于对根目录0字节文件的操作 2、将系统进程按内存占用大小排列显示出来 ps -e -o "%C : %

    1K30
    领券