0

我需要做一个应用程序,让用户在服务器中下载大量图片,选择一些标准并且只在一个存档中。我尝试使用 web 上的 php 和 pclzip.lib 和 zipstream 库,但是这两种方法都不起作用。使用 pclzip 我只能压缩 3Mb,而在下载过程中使用 zipstream 库,它会以 25MB 大小失败。我不知道用户需要下载多少档案,但现在我有大约 700 个档案和 75MB。是否有另一种方法可以使此应用程序正常工作,或者是否有人对这个库有类似的问题并解决了它。这里有一些更多的规范:远程服务器 iis、php。谢谢和对不起我的英语

4

2 回答 2

1

一段时间后,我找到了使用方法

 ini_set('max_execution_time', 1200);
 ini_set("memory_limit","500M");

还有图书馆ZipStream。另外,我更改了 PHP 服务器中的 PHP 内存限制,因为我的文件非常大。

于 2020-12-18T21:26:39.590 回答
0

我以前使用过 pclzip 并且此代码有效:

if ($this->extension == 'zip') {
    $this->archive = new PclZip($orgPath);

    if ($this->archive->extract(PCLZIP_OPT_PATH, $newPath) == 0) {
        die("Error : " . $this->archive->errorInfo(true));
    }
}

但我认为这不是你的问题。听起来 PHP 没有足够的 RAM 或没有足够的时间。

如果这是你的问题,你可以用

set_time_limit(0);   // 0 = no time limit
ini_set('memory_limit', '300M');  // Increases memory for PHP to 300M

这在 Apache 上对我有用(我不舒尔,但 ini_set 在你的系统上工作吗?)

于 2012-05-02T20:58:38.250 回答