PHP解压函数gzdecode和gzinflate使用方法

PHP解压函数gzdecode和gzinflate使用方法技术

maybe yes 发表于2015-01-21 00:11

原文链接 : http://blog.lmlphp.com/archives/65  来自 : LMLPHP后院

PHP 5.4 之后新增的 gzip 解压函数 gzdecode 使用方法,gzdecode — Decodes a gzip compressed string,解压一个使用 gzip 压缩的字符串,这是官网手册上面写到的。

目前很多的空间服务商的 PHP 版本都没有达到 5.4 ,这也导致使用此函数之后发生函数未定义错误,该如何解决这个问题呢?PHP 官方网站用户提交的日志中有人给出了很好的解决方案,使用 gzinflate 函数代替,代码参考如下:

<?php
if (!function_exists(‘gzdecode‘)) {
	function gzdecode($data)
	{
		return gzinflate(substr($data,10,-8));
	}
}

gzinflate 函数的功能大致和 gzdecode 相似,在返回值的注解中官方给出了一句提示“The function will return an error if the uncompressed data is more than 32768 times the length of the compressed input data or more than the optional parameter length. ”。

阅(84)评(0)查看评论

时间: 2024-10-07 13:02:55

PHP解压函数gzdecode和gzinflate使用方法的相关文章

压缩解压函数实现

private byte[] Compression(byte[] data, CompressionMode mode) { DeflateStream zip = null; try { if (mode == CompressionMode.Compress)//压缩函数 { MemoryStream ms = new MemoryStream(); zip = new DeflateStream(ms, mode, true); zip.Write(data, 0, data.Lengt

CompressUtils相关代码,java中文件压缩或解压已经文件的基本操作等方法

java中一些场合我们需要,对上传的压缩包中的内容进行处理,这个时候就用到了解压操作,还有压缩的操作等等,这里直接贴一下代码,以备今后自己可能会用到,还有共享给需要的小伙伴们. import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExceptio

vc解压和载入zip资源包方法

提示: 这种方法解压后会释放所有文件在你选择的路径下,但是有个缺点是不会删除解压的文件 需要在项目中添加XUnzip.cpp和XUnzip.h代码:(需要的朋友可留言) //载入zip资源包 BOOL ui_dlg_main::LoadZipFileToDir(LPSTR lpDir) //lpDir为载入资源包的路径 { OPENFILENAMEA ofn = { 0 }; char strFileName[MAX_PATH] = ""; memset(&ofn, 0, si

在Ubuntu系统中解压rar和zip文件的方法

大家在以前的windows系统中会存有很多rar和zip格式的压缩文件,Ubuntu系统默认情况下对这些文件的支持不是很好,如果直接用"归档管理器"打开会提示错误,因此今天跟大家分享一下如何在Ubuntu中解压这两种格式的压缩文件: 我们需要安装两款软件:1.7zip:2.Ark,这两款软件在Ubuntu的软件中心都有下载: 打开软件中心搜索rar,在列表中找到它们,直接安装就可以- 安装完成后,就可以直接双击打开rar和zip格式的文件了,即使是中文格式也不会报错- 如果要解压,鼠标

解压Ubuntu的initrd.img的方法

Ubuntu的initrd.img可以在/boot中找到,通常文件名后面还跟有很长的一串版本号. 为了保险起见,不直接操作原文件,而是把它复制到自己的家目(home)录中.如果你是用root帐号登录的,家目录就在/root中,如果是用wsxx登录的,家目录一般就在/home/wsxx中,通常登录之后自动就到了家目中.我们把initrd.img复制但家目中进行解压: cp /boot/initrd.img-2.6.15-ubuntu-r6 ./initrd.img.gz 上面这个命令把/boot区

解压查看二进制rpm包的方法

详细参考: man cpio 具体方法: rpm2cpio qt5-qtbase-5.6.0-13.fc21.x86_64.rpm | cpio -dium 执行后可在当前目录查看 安装目录  etc  qt5-qtbase-5.6.0-13.fc21.x86_64.rpm  usr

python笨办法解决zipfile解压会改变文件最后修改时间的问题

# -*- coding=gbk -*- import zipfile def UnZip(path, patht):     #path 为需要解压的文件路径,patht为解压的目标目录     f = zipfile.ZipFile(path, 'r')     print "开始解压文件..."     for file in f.namelist():         print "正在解压文件:%s to %s" %(file, patht)       

基于哈夫曼编码的压缩解压程序

这个程序是研一上学期的课程大作业.当时,跨专业的我只有一点 C 语言和数据结构基础,为此,我查阅了不少资料,再加上自己的思考和分析,实现后不断调试.测试和完善,耗时一周左右,在 2012/11/19 完成.虽然这是一个很小的程序,但却是我完成的第一个程序. 源码托管在 Github:点此打开链接 一.问题描述: 名称:基于哈夫曼编码的文件压缩解压 目的:利用哈夫曼编码压缩存储文件,节省空间 输入:任何格式的文件(压缩)或压缩文件(解压) 输出:压缩文件或解压后的原文件 功能:利用哈夫曼编码压缩解

python项目1:自动解压并删除压缩包

目的:实现压缩包的自动解压及删除. 思路:获取压缩包 > 解压 > 删除压缩包 代码实现:此处代码实现前提为.py文件和压缩包在同一文件夹 # 导入需要的包 import os import shutil import time # 定义查找函数 def scan_file(): files = os.listdir() for f in files: if f.endswith('.zip'): return f # 定义解压函数 def unzip_it(f): folder_name =