我需要压缩大于4GB的文件,所以在搜索之后我发现可以通过PHP COM类使用Ionic.Zip库。
问题是默认情况下Ionic.Zip不会写大于4GB的zip文件,我必须定义一个属性。这是我得到的错误:
Caught exception: Source: Ionic.Zip
Description: Compressed or Uncompressed size, or offset exceeds the maximum value. Consider setting the UseZip64WhenSaving property on the ZipFile instance.
#0 C:\inetpub\wwwroot\...\resources_disk_usage.php(28): com->Save()
#1 {main}
从C#我发现这个属性可以设置如下:
Using zip As ZipFile = New ZipFilIe
zip.UseZip64WhenSaving = Zip64Option.AsNecessary
但是我无法从PHP中定义它。
任何?
使用PHP ZipArchive扩展适用于小于2GB的文件,所以如果有一个技巧允许在此扩展中使用zip64我宁愿但我认为这是一个拉链限制。
感谢阅读, ·_-
目标 有一个远程文件夹达到极限,我必须将对象从远程驱动器移动到另一台机器以释放空间。这些文件是大约5GB的高分辨率视频。
答案 0 :(得分:0)
我看到你补充说你要压缩和移动大型视频文件。根据文件格式的不同,我认为你不会受到太大的压缩。
我这样做的方法是将文件复制到AWS S3存储。
自2013年4月起,PHP zip扩展程序已经有了Zip64。
我的服务器上没有足够的可用磁盘空间来创建5GB文件,因此我无法测试。
第一张图片来自phpinfo()
<?php
phpinfo();
?>
https://pecl.php.net/package-changelog.php?package=zip