Thinkphp使用PCLZIP 如何打包远程文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Thinkphp使用PCLZIP 如何打包远程文件相关的知识,希望对你有一定的参考价值。

例如 打包下载七牛云上的多个文件
问题二:
thinkphp3.2.3使用swfUpload 能否将文件直接上传到七牛云存储呢 而不是先上传到服务器再由服务器上传到云端

参考技术A 打包云文件,首先要把文件下到服务器目录上,再通过pclzip打包目录就可以了
tp3.2上传,可以直接上传到云的

Wordpress 主题上传错误 PCLZIP_ERR_BAD_FORMAT

【中文标题】Wordpress 主题上传错误 PCLZIP_ERR_BAD_FORMAT【英文标题】:Wordpress theme upload error PCLZIP_ERR_BAD_FORMAT 【发布时间】:2013-07-20 05:50:56 【问题描述】:

我是 php 和 wordpress 的新手,但是由于某些需要,我只能使用 wordpress。所以刚开始我阅读了一个教程并创建了一个我自己的 wordpress 主题,当我尝试上传我的主题时,我得到了以下错误:

The package could not be installed. PCLZIP_ERR_BAD_FORMAT (-10) : Unable to find End of Central Dir Record signature

搜索相同的内容我发现通常导致此类错误的原因是最大可用空间或上传文件大小问题。但是,由于我在 localhost 上工作,所以我认为情况并非如此。此外,我还增加了upload_max_filesizepost_max_sizememory_limit。但我仍然遇到同样的错误。

我使用的是 Wordpress 3.5.2。

【问题讨论】:

尝试手动将文件上传到您的主题文件夹 - /wp-content/themes/yourThemeFolder/ @AmalMurali 就是这样工作的。我需要使用 wordpress 主题上传选项使它工作,这样我在服务器上上传主题时可能不会遇到麻烦。 我在指定某些 mbstring.* 值时遇到过这种情况,也许值得再试一次。 @AnthonySterling 我猜mbstring.*php.ini 中,对吗?我认为我没有在那里进行任何更改,您能否详细说明问题是什么以及您是如何解决的? 遗憾的是,我没有进一步调查。这是我的默认自定义 php.ini 设置:pastie.org/8160888 删除 mbstring.* 设置解决了您描述的问题。 【参考方案1】:

一个简单的选择是下载主题包,将其压缩并通过FTP整个主题文件夹上传到

/wp-content/themes

然后转到 Admin CP 并切换到新安装的主题。

【讨论】:

我已经将主题文件夹保存在 /wp-content/themes/ 中,它就是这样工作的。然而,只是为了检查我在另一个系统上做了同样的事情,在上传时我遇到了同样的问题。所以我只是担心在我的网络托管服务提供商上上传主题时可能会遇到同样的问题。【参考方案2】:

此错误是由于您尝试上传的不是ZIP 压缩版本。在wordpress中上传插件时不支持其他格式。

您应该解压缩您的插件,并确保使用ZIP 格式压缩并上传它会正常工作。

【讨论】:

谢谢。我正在制作 .rar 文件而不是 .zip 这也是我的问题。谢谢。 Wordpress 会抱怨某些环境而不是其他环境,即使它是有效的 ZIP,它似乎取决于服务器环境 我遇到了同样的问题。但我安装 curl 后可以修复它 read more information from this post【参考方案3】:

请检查此处是否只有您要上传的文件。我遇到了同样的问题,然后我搜索文件夹,里面已经有 zip 文件夹。上传该zip文件后。问题解决了。现在主题已激活。

【讨论】:

【参考方案4】:

我在为主题安装插件时遇到了类似的问题。似乎同时插件的下载地址发生了变化,更新它解决了问题:)

【讨论】:

【参考方案5】:

我又找到了一个可以帮助你的案例。

如果 zip 文件是 incompletecorrupt,则会引发相同的错误。

【讨论】:

【参考方案6】:

这是因为您将主题上传为“.rar”文件。

将主题转换为“.zip”文件,然后将其上传到您的网站。

用于转换成“.zip”:

    右键单击您的主题文件夹。

    选择“发送至”。

    点击“压缩(zipped)文件夹”。

    将“.zip”文件上传到您的 WordPress 网站。

【讨论】:

【参考方案7】:

我在尝试从 Wordpress 界面安装 Wordpress 插件时遇到了这个问题。原来该特定帐户的磁盘空间配额已满。我去找WHM经理,增加了配额,问题就解决了。

【讨论】:

【参考方案8】:

我在未安装 zip 插件时收到此错误。对于 Ubuntu/Debian 和 php7.4 (Bionic),您可以使用

apt-get install php7.4-zip
service php7.4-fpm restart

【讨论】:

【参考方案9】:

我遇到了同样的问题,原来问题是虚拟服务器超出了它的配额。 (我正在使用 Virtualmin,并且在该网站的虚拟服务器上有 1GB 的配额)。

增加配额后,问题就消失了。

【讨论】:

以上是关于Thinkphp使用PCLZIP 如何打包远程文件的主要内容,如果未能解决你的问题,请参考以下文章

PclZip library能够压缩与解压缩Zip格式

thinkphp的http::download怎么做下载文件

ThinkPHP3.0如何实现Hprose,整体项目已经开发差不多,现在需要开启远程调用。

前端vue与后端Thinkphp在服务器的部署

同志们 thinkphp 有dps远程高危漏洞吗

ThinkPHP框架下如何用PHP自带的ZipArchive类打包压缩文件