如何使用 PHP 解压 .gz 文件?
我正在使用 CodeIgniter,但我不知道如何解压缩文件!
I'm using CodeIgniter and I can't figure out how to unzip files!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我正在使用 CodeIgniter,但我不知道如何解压缩文件!
I'm using CodeIgniter and I can't figure out how to unzip files!
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(6)
PHP 本身有许多处理 gzip 文件的函数。
如果你想创建一个新的、未压缩的文件,它会是这样的。
注意:这不会首先检查目标文件是否存在,不会删除输入文件,或执行任何错误检查。在生产代码中使用它之前,您确实应该修复这些问题。
注意:这仅涉及 gzip 。它不涉及焦油。
PHP itself has a number of functions for dealing with gzip files.
If you want to create a new, uncompressed file, it would be something like this.
Note: This doesn't check if the target file exists first, doesn't delete the input file, or do any error checking. You really should fix those before using this in production code.
Note: This deals with gzip only. It doesn't deal with tar.
gzopen 的工作量太大了。这更直观:
当服务器也吐出 gzip 压缩数据时,也适用于 http 页面。
gzopen is way too much work. This is more intuitive:
works on http pages when the server is spitting out gzipped data also.
如果您有权访问 system():
If you have access to system():
使用 Zlib 压缩 扩展实现的功能。
此代码片段展示了如何使用扩展中提供的一些功能:
Use the functions implemented by the Zlib Compression extension.
This snippet shows how to use some of the functions made available from the extension:
下载解压库
并包含或
自动加载
unzip
库Download the Unzip library
and include or
autoload
theunzip
library补充@Danial的答案...
我同意,在几十MB的文件上使用它是可以的,我想这是最频繁的使用,但是当我们达到数百MB时,最好使用带有
gzopen()
和gzread()
。此外,可以将这 2 个解决方案结合在一起
Complementing @Danial's answer...
I agree, to use it on files with a few tens of MB is ok, I imagine this is the most frequent use, but when we reach hundreds of MB it is better to use a solution with
gzopen()
andgzread()
.Furthermore, it is possible to have the 2 solutions together ???? just check the size of the gz file. If it is smaller than 70MB, for example, use
file_get_contents()
, if it is larger, usegzopen()
.Yes, I know that what matters most is the actual size of the decompressed file, but we can get a good idea since generally the compressed file is 30% smaller than the original file.
One line tip... to compress a file: