我必须使用php创建一个zip文件。这些文件位于我的Web服务器的一个目录中。 我必须添加这些文件(动态)并创建一个zip文件。在php中创建ZIP文件,windows
使用小文件在php中完美工作,但是当我试图使用大于200 MB的文件进行压缩时,我将花更多时间来创建压缩文件。
那么有什么办法可以使用Windows系统命令,它可以通过PHP运行一个zip文件?这样我们就可以轻松快速地创建zip文件而不会丢失内存。
请帮
我必须使用php创建一个zip文件。这些文件位于我的Web服务器的一个目录中。 我必须添加这些文件(动态)并创建一个zip文件。在php中创建ZIP文件,windows
使用小文件在php中完美工作,但是当我试图使用大于200 MB的文件进行压缩时,我将花更多时间来创建压缩文件。
那么有什么办法可以使用Windows系统命令,它可以通过PHP运行一个zip文件?这样我们就可以轻松快速地创建zip文件而不会丢失内存。
请帮
你可以尝试实行某种形式的队列,也许在你的数据库。您排队执行zip操作,而在后台执行某种类型的cron作业时会执行压缩操作,并在队列完成时通知您的队列。
这不会减少处理时间,但由于压缩是一个CPU和I/O繁重的操作,它可能无法加速太多。使用这种技术,您不必让用户等到压缩完成后,您可以例如在完成后发送电子邮件(链接到创建的zip文件)。
感谢您的回复,你能帮我一下如何使用PHP中的动态文件进行压缩? – ramesh 2012-04-18 08:57:07
@ramesh没有'动态文件'这样的东西,所以我不知道你的意思。使用[ZipArchive](http://www.php.net/manual/en/class.ziparchive.php),您可以将磁盘中的文件和内存中的数据添加到zip存档中。 – CodeCaster 2012-04-18 09:21:03
okey ..我的意思实际上。 ..但是如何从像cron这样的操作创建一个zip文件?我的意思是在后台运行? – ramesh 2012-04-18 09:51:20
如果你需要添加20个文件,每个文件2GB,会发生什么?仅仅因为你改变了创建一个zip文件的方法,它不会被创建得更快(或者至少显着更快)。如果你有大文件需要压缩,那么你只需要获得性能提升 - 没有两种方法。 – 2012-04-18 08:31:09