【问题标题】:Create a multi part zip php创建一个多部分 zip php
【发布时间】:2011-11-03 21:55:51
【问题描述】:

如何从大于我的托管限制的文件夹创建多部分 zip 文件?

例如,如果我有一个 15mb 的文件夹并且我的网络托管限制是每个文件 8mb,有没有办法使用 php 创建文件:zip1.zip (8mb) 和 zip2.zip (7mb)?

附言我没有修改文件 php.ini 的权限。

【问题讨论】:

  • 这在 PHP 脚本的范围内可能几乎是不可能的。您所说的“网络托管限制”到底是什么意思?
  • 我的免费虚拟主机文件限制为每个文件 8mb,所以我无法创建 15mb 的 zip 文件
  • 究竟是哪个文件限制?上传限制,还是文件大小限制?后者会很少 - 我会考虑在这种情况下切换网络主机
  • 文件大小限制。但是如果我更改主机,也许文件大小限制会更大,而 15mb 文件夹只是一个例子,如果我有一个 50mb 文件夹并且我想从这个文件夹创建一个 zip 文件,我该怎么办想要避免文件大小限制和最大执行时间限制?创建一个多部分的 zip 文件不是一个好主意吗?
  • 如果 gz 适合你,这可能会解决它:stackoverflow.com/questions/5391304/split-big-files-using-php

标签: php recursion zip


【解决方案1】:

使用 php 遍历目录以将文件添加到 zip。

当 zip 达到 4mb 时,关闭 zip 并继续使用新的 zip。

【讨论】:

  • 好主意,我应该使用scandir()和filesize(),然后根据文件大小创建一个数组吗?还是你有更好的主意?
  • @user 这不起作用,因为您不知道文件将处于压缩状态的大小。您只需将它们堆放在上面……您将无法拥有任何大于 8 MB 的压缩文件。
【解决方案2】:

这可能是可行的,但会非常复杂,尤其是当您需要跨多个 zip 存档拆分文件时。

我会更改托管服务提供商,以便您可以处理普通的大文件。像这样的文件大小限制是非常不寻常的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-17
    • 2012-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-06
    相关资源
    最近更新 更多