使用 PHP 压缩文件目录
我正在创建一个 php 备份脚本,它将转储数据库中的所有内容并将其保存到文件中。 我已经成功地做到了这一点,但现在我需要在一个目录中获取数百张图像并将它们压缩到一个简单的 .tar.gz 文件中。
做到这一点的最佳方法是什么以及如何完成? 我不知道从哪里开始。
提前致谢
I am creating a php backup script that will dump everything from a database and save it to a file. I have been successful in doing that but now I need to take hundreds of images in a directory and compress them into one simple .tar.gz file.
What is the best way to do this and how is it done? I have no idea where to start.
Thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
选择的答案不支持递归(子目录),所以在这里:
Chosen answer doesn't support recursion (subdirectories), so here you go:
您可以使用此命令轻松地对文件夹进行 gzip:
此命令可以通过 phps system()-function 运行。
不要忘记 escapeshellarg() 所有命令。
You can easily gzip a folder using this command:
This command can be ran through phps system()-function.
Don't forget to escapeshellarg() all commands.
来自@Martin Zvarík anwser。 我有一个小小的改变!
这将帮助我们将所有文件(以及子文件夹中的所有文件)压缩为 zip 文件,但不包括 root
ex:
调用时的根路径
:zip-this-folder.php
它将输出 myapp.zip
myapp.zip 有
zip-this-folder.php:
from @Martin Zvarík anwser. I had a small change!
This will help us compress all file (and all file in subfolder) to a zip file, but will not include root
ex:
root path
when call: zip-this-folder.php
it will output myapp.zip
myapp.zip have
zip-this-folder.php:
如果您使用的是 PHP 5.2 或更高版本,则可以使用 Zip 库
然后按照以下方式做一些事情:
If you are using PHP 5.2 or later, you could use the Zip Library
and then do something along the lines of:
您还可以使用这样的内容:
请务必 注意有关使用 PHP 的
exec()
函数的警告。You can also use something like this:
Be sure to heed the warnings about using PHP's
exec()
function.我的简单 2 行 PHP 文件,通过它我可以在几秒钟内创建备份 ZIP 文件:
只需浏览: http://mysiteurl.com/create-my-zip.php
只需将此文件上传到服务器并直接浏览即可。
注意:
My simple 2 lines PHP file by which I can create a backup ZIP file within a few seconds:
Just browse: http://mysiteurl.com/create-my-zip.php
Simply upload this file into the server and browse directly.
Notes: