何时添加到存档?

时间:2012-06-24 02:09:01

标签: php compression jpeg archive

我正在建立一个网站,作为公司广告作品的投资组合。他们上传文件,可以在图库中查看它等。 他们想要的另一个功能是让特权用户能够下载整个图库。

我面临着两个选择(我能想到)在上传文件时添加到现有存档中,这会增加响应时间或每次有人希望下载图库时构建存档。

我不知道php提供的压缩工具背后的机制或数据结构,所以我问你哪个最便宜?

图像都是jpeg,因此压缩没有效果,可能会有数百个高分辨率图像。

1 个答案:

答案 0 :(得分:1)

第三种选择:设置为“cron”作业,每天构建档案。这意味着该流程与用户活动无关,保证会发生并且不会阻止用户。


编辑:回答关于使用哪个实用程序的第二部分。

PHP手册简要概述:http://php.net/manual/en/phar.fileformat.comparison.php - 但基本上有两种类型或存档/压缩:   - Zip,gzip,bzip(压缩,但能够将多个文件压缩到一个存档)   - rar,tar(归档到单个文件,能够减少构建存档的大小)

如果您不希望通过压缩获得太多收益,那么请查看其中一个归档功能(tar / rar等)。最着名的是“rar”,但许可证不允许PHP创建rar文件,因此您需要使用“tar”。 Tar是Linux文件中最常见的。您可以通过名为“phar”http://www.php.net/manual/en/intro.phar.php的PHP库执行此操作。

如果你认为你可能想要额外挤出一些东西,gzip可能是最好的(但你应该测试一下)。所以拿你的焦油并用gzip压缩。 Phar也可以在一个简单的类中为你处理(phar :: compress)。

最后注意:如果你在Linux服务器上,你可以通过exec()调用tar和gzip命令(按此顺序)获得绝对最佳的结果,因为它是Linux的面包和黄油。