问题标签 [php-zip-archive]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4652 浏览

php - PHP:ZipArchive::extractTo 不起作用(错误)

我完全无法解释为什么这不起作用。

错误:ZipArchive::extractTo():Zip 对象无效或未初始化

我尝试了很多解决方案来解决这个错误,但我仍然面临这个错误。

0 投票
2 回答
3854 浏览

symfony - Symfony3:“试图从全局命名空间加载类“ZipArchive”。你忘记了“PHPExcel_Shared_ZipArchive”的“use”语句吗?”

我正在使用 symfony3 并尝试在我的 ubuntu16 服务器上安装/使用TwigExcelBundle以实现 excel 导出目的。我可以在尝试使用时安装它,但出现以下错误:

“尝试从全局命名空间加载类“ZipArchive”。您是否忘记了“PHPExcel_Shared_ZipArchive”的“使用”语句?在 /home/web/dgb/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007.php 第 227 行

我尝试手动安装 php7.0-zip 扩展,但失败了:

apt-get install php7.0-zip ...... Les paquets suivants contiennent des dépendances non satisfaites : php7.0-zip : Dépend: php7.0-common (= 7.0.30-1~dotdeb+8.1) mais 7.0.18-1~dotdeb+8.1 devra être installé Dépend: libzip2 (>= 0.11.2) mais il n'est pas installable E: Dépendances non satisfaites。Essayez « apt-get -f install » sans paquet (ou indiquez une 解决方案)。

注意:它在我的本地主机(windows)上运行良好

请告诉我解决方案。我应该怎么做才能解决问题?或者任何人都可以建议我使用 symfony3 导出 excel 文件的另一个工具?

0 投票
0 回答
885 浏览

php - PHP- ZipArchive 0 字节文件

我正在尝试将文件夹下载为 zip,但我总是得到一个 0 字节文件的 zip。我尝试了在互联网上找到的所有解决方案,但没有帮助。这是代码:

我不明白我错在哪里

0 投票
1 回答
262 浏览

php - 以相同的目录格式创建所有目录和文件的 zip

我正在尝试以与我的计算机中相同的目录格式制作文件数组的 zip 我编写的脚本正在运行,唯一的问题是它覆盖了目录的第一个元素,而第二个元素只有最后一个元素在目录数组中的 zip 文件中,我需要从提供的目录数组中添加所有文件。这是我的代码,请告诉我我做错了什么。

此脚本仅使用以下目录的文件和目录结构创建 zip 文件。

'D:\xampp\htdocs\moko\wp-content\plugins\moko\templates'

0 投票
1 回答
4200 浏览

php - PHP 7.2.7:试图调用类“ZipArchive”的名为“setEncryptionName”的未定义方法

我正在尝试使用 PHP 7.2.7 创建一个加密的、受密码保护的 ZIP 文件。但是,我收到以下错误消息:

http://php.net/manual/en/ziparchive.setencryptionname.php

如果我删除$zip->setEncryptionName(),那么一切都会 100% 正常工作,除了 ZIP 文件没有密码保护。

我进行了 Google 和论坛搜索,但找不到遇到类似问题的任何人,可能是因为 PHP 版本和功能仍然太新。

0 投票
0 回答
580 浏览

php - APNs“提取推送通知包失败”

我遵循手册https://developer.apple.com/notifications/safari-push-notifications/。我使用 PHP 脚本来生成所需的存档。它被创建和下载(元素的结构与手册中的相同)。

  • 我所有的“Web 服务端点”处理结果都给出代码 200'
  • webServiceURL/version/pushPackages/websitePushID' 在下载时生成必要的存档(存在 Content-type 标头的 application/zip)
  • safari 下载它已经解压的文件夹(意味着安装的头文件是正确的并且文件被正常解压)
  • Safari(网站->通知)的设置中缺少请求“发送通知的权利”的资源(网站),因为它从未成功请求

website.json 具有正确的结构和有效的 JSON 文件...

manifest.json 具有正确的结构和有效的 JSON 文件...

所有图标和签名文件都呈现。该证书具有适当的访问权限 0644。

为了生成和下载使用本手册的 .zip 文件 ,只需按照 Apple 手册的建议传递标题:

尝试过和这样的选择: 1)

2)

存档已下载并打开,但 APNs 不想接受它们,并且在“webServiceURL/version/log”上我总是有{"logs":["Extracting push notification package failed"]}

有一个问题有类似的问题,但没有解决方案。由于我的声誉,我不能写评论,所以我决定再次询问有关我尝试过的更详细的信息。

0 投票
2 回答
335 浏览

php - zip_close() 期望参数 1 是资源,第 37 行给出的对象

我正在创建一个文件来提取 zip 文件。代码片段检查文件扩展名是否为 .zip,然后检查文件是否已存在。如果没有,请提取存档。

这是 index.php 的完整代码

目录结构如下所示: D:/MyWebs/extracting/index.php D:/MyWebs/extracting/unzips(包含解压缩文件夹的最终目的地) D:/MyWebs/extracting/temp(存储 zip 然后删除它们)

0 投票
3 回答
9877 浏览

php - 无法使用 remi-php72 repo 在 Centos 7.6.1810 上加载动态库 'zip.so'

我在更新 10 月 CMS 时遇到问题:

在 /var/www/html/jdd/htdocs/vendor/october/rain/src/Filesystem/Zip.php 的第 51 行更新失败“找不到类 'ZipArchive'”

如果我执行 php -m,我会收到以下警告:

PHP警告:PHP启动:无法加载动态库'zip.so'(尝试:/usr/lib64/php/modules/zip.so(/usr/lib64/php/modules/zip.so:未定义符号:zip_libzip_version) , /usr/lib64/php/modules/zip.so.so (/usr/lib64/php/modules/zip.so.so: 无法打开共享对象文件: 没有这样的文件或目录)) 在第 0 行的未知

奇怪的是,在我的 /etc/php.d/ 文件夹中,zip.ini 文件包含以下行:extension=zip.so。而 /php.d 中的所有其他 .ini 文件不包括“.so”扩展名(例如:对于 json.ini 文件,该行显示为:extension=json)。我已经尝试从 zip.ini extension= 行中删除“.so”,但它仍然无法正常工作。

据我所知,系统仅运行 x86_64 可执行文件(我如何绝对确定地检查这一点 - 所有二进制文件都显示为 .x86_64 或 .noarch?)。

我尝试过其他版本的 php:-php 5.4 安装 zip.so 很好(它加载正确),除了 10 月至少需要 php 7.0。-php 7.0 到 7.3 都安装了 zip.so,但是扩展仍然不加载。

任何人都可以帮忙吗?

0 投票
1 回答
46 浏览

php - 是否可以在创建 zip 存档时对目录进行排序?

我正在创建一个包含多个目录的 zip,其中包含文件。当我创建 zip 时,我已经对文件和目录进行了排序。当我打开我的 zip 存档时,无论我在做什么,看起来目录都是按字母数字排序的,所以我的排序被忽略了。这是正常的还是我错过了什么?

0 投票
1 回答
2328 浏览

laravel - 缺少 Zip 扩展名(作曲家更新)


我想使用 composer 更新我的 Laravel 应用程序的依赖项,但是在输入时composer update我收到一个依赖项的错误,***** requires ext-zip * -> the requested PHP extension zip is missing from your system.
我检查了已安装的 PHP 的扩展,这是以下输出php -m

正如我检查的那样,zip 扩展名已经可用于命令行和应用程序,但作曲家没有更新。谁能指导我?
操作系统:macOS Catalina
服务器:MAMP Pro