关于php压缩和解压缩

yunfeifan 2005-05-12 12:00:43
请问怎么解压缩一个非文件,就是一个变量,变量的值是一个压缩的咚咚,我怎么解压缩这个变量,
是不是把它放到内存中,最后删除这个内存变量?具体的有法子做吗?
...全文
268 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2005-05-12
  • 打赏
  • 举报
回复
有函数,见手册
xuzuning 2005-05-12
  • 打赏
  • 举报
回复
例:
<?php
$s = "请问怎么解压缩一个非文件,就是一个变量,变量的值是一个压缩的咚咚,我怎么解压缩这个变量,
是不是把它放到内存中,最后删除这个内存变量?具体的有法子做吗?";

$z = gzcompress($s);
echo gzuncompress($z);
?>
xuzuning 2005-05-12
  • 打赏
  • 举报
回复
目录
gzclose -- Close an open gz-file pointer
*** gzcompress -- Compress a string
gzdeflate -- Deflate a string
*** gzencode -- Create a gzip compressed string
gzeof -- Test for end-of-file on a gz-file pointer
gzfile -- Read entire gz-file into an array
gzgetc -- Get character from gz-file pointer
gzgets -- Get line from file pointer
gzgetss -- Get line from gz-file pointer and strip HTML tags
*** gzinflate -- Inflate a deflated string
gzopen -- Open gz-file
gzpassthru -- Output all remaining data on a gz-file pointer
gzputs -- Alias of gzwrite()
gzread -- Binary-safe gz-file read
gzrewind -- Rewind the position of a gz-file pointer
gzseek -- Seek on a gz-file pointer
gztell -- Tell gz-file pointer read/write position
*** gzuncompress -- Uncompress a deflated string
gzwrite -- Binary-safe gz-file write
readgzfile -- Output a gz-file
zlib_get_coding_type -- Returns the coding type used for output compression
yunfeifan 2005-05-12
  • 打赏
  • 举报
回复
to lawyu(雨淋漓) ( ) :

你的例子是用的文件,而我返回的压缩值是放在一个变量里边了,根本没有文件!
lawyu 2005-05-12
  • 打赏
  • 举报
回复
PHP 的 Windows 版本已经内置该扩展模块的支持。您无需加载任何附加的扩展库即可使用这些函数。
注: Builtin support for zlib on Windows is available with PHP 4.3.0.
例子 1. Small Zlib Example

<?php

$filename = tempnam('/tmp', 'zlibtest') . '.gz';
echo "<html>\n<head></head>\n<body>\n<pre>\n";
$s = "Only a test, test, test, test, test, test, test, test!\n";

// open file for writing with maximum compression
$zp = gzopen($filename, "w9");

// write string to file
gzwrite($zp, $s);

// close file
gzclose($zp);

// open file for reading
$zp = gzopen($filename, "r");

// read 3 char
echo gzread($zp, 3);

// output until end of the file and close it.
gzpassthru($zp);
gzclose($zp);

echo "\n";

// open file and print content (the 2nd time).
if (readgzfile($filename) != strlen($s)) {
echo "Error with zlib functions!";
}
unlink($filename);
echo "</pre>\n</body>\n</html>\n";

?>
yunfeifan 2005-05-12
  • 打赏
  • 举报
回复
to 楼上两位:

是gz 那一套马?我光找到压缩的gzencode() ,没有看到解压缩的函数!
lawyu 2005-05-12
  • 打赏
  • 举报
回复
Zlib Compression Functions
AspxZip 2.0 特点: 1.能够在支持 ASP.NET 的 Web 服务器上通过友好的 Web 界面方便地 压缩/解压存放在服务器上的文档。 2.通用性极强,只要服务器支持 ASP.NET,就可以正常运行。 3.目前对 ZIP 格式档案文件提供完整支持,不久的将来,还将可以解压 RAR、ARJ等压缩格式。 4.支持如设置口令,设置压缩比例等功能。 5.没有任何限制,更新到最新版本,支持有密码文件解压。   如果你曾做过Web管理员的话,你会知道,通过 FTP 来备份/还原服务器上的大量零散文档(如10,000个HTML文档)是一件多么痛苦的事情!所以,现在有许多的管理员都想找一个能 在线打包压缩/解压的Web程序一边方便管理。这就是我写这个 AspxZip 在线打包压缩/解压缩程序的原始动机。   AspxZip 的设计目的是想通过友好的Web界面方便的对存放在远程Web服务器上的文档进行压缩打包和解压缩操作,从而方便备份/还原Web服务器上的各种数据。目前, 网上确实有了一些号称支持在线压缩/解压的 Web 程序,其中有用 ASP 编的,也有用 PHP 编的。但由于他们的工作原理都是通过调用 RAR.exe 或 7Zip.exe 第三方压缩/解压程序进行 压缩/解压操作的,只要服务器的安全设置设得比较好,Web程序就无法调用 RAR.exe 等程序而不能使用,所以通用性不强,大部分的虚拟主机都不能正常使用,更不用说要求很严的免费空间了。 所以,要想让它在任何服务器上都能正常使用,唯一的办法是:把压缩/解压算法核心写到程序里面去!这就是 AspxZip 和其他在线压缩/解压的Web程序的不同之处。其优 点是运行效率高,通用性极强,只要服务器支持 ASP.NET,就可以正常运行。   AspxZip 特点: 效率高,运行速度快。经测试,在我的个人网站(服务器并不怎么好)上运行时压缩速度平均为 10 MB/s,最高速度可达 25 MB/s。 能够在支持 ASP.NET 的 Web 服务器上通过友好的 Web 界面方便地 压缩/解压存放在服务器上的文档。 通用性极强,只要服务器支持 ASP.NET,就可以正常运行。 目前对 ZIP 格式档案文件提供完整支持,不久的将来,还将可以解压 RAR、ARJ等压缩格式。 支持如设置口令,设置压缩比例等功能。   注:本程序使用了 ICSharpCode.NET 提供的 SharpZipLib 压缩组件,在此对 ICSharpCode.NET 表示感谢。

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧