【问题标题】:How to download an update zip package and install it?如何下载更新压缩包并安装它?
【发布时间】:2010-01-22 13:26:28
【问题描述】:

我知道如何为我的项目编写更新脚本,最简单的方法是编写一个文件并将其提供给用户并让他去做。但我想自动更新他的网站。

就像 wordpress 一样,你可以看到用户可以点击一个按钮,脚本会执行下一步。

我的问题是如何从目标服务器下载 zip 文件并自动解压?

也许我可以自己编写这个脚本,但我想也许目前我们在 php 中有一些类可以这样做。

【问题讨论】:

    标签: php class


    【解决方案1】:

    新的闪亮的 php-5.3 提供了 .phar 扩展名,非常棒。而且您甚至不必“解压缩”它。

    【讨论】:

    • +1 我个人也会研究 .phar 。提取 ZIP(或任何其他存档)可能会导致安全问题(取决于您的具体操作,可能是您的完整 webroot 需要是全球可写的,而这是您不想要的)。
    【解决方案2】:

    如您所见,如果您使用下载的 wordpress 版本(我的意思是,您下载并放置在主机上的版本),它会询问您 FTP 用户和密码:wp 使用 php FTP 函数。

    我找到了一个通过 curl 使用 FTP 的好教程:here is it.

    然后,你需要解压它:php 已经为你准备好了 zip 扩展

    【讨论】:

    • 嗯。谢谢 。安全问题怎么样,因为你知道一些主机使用安全模式,其他东西会在他们的主机上被禁用,如何在下载和解压缩然后运行我的脚本时解决这些问题
    • cUrl 应该在大多数主机中启用(即使是最便宜的主机),如果没有,请尝试 ftp 功能(但如果 curl 被禁用,可能 ftp 功能也被禁用)。跨度>
    • 谁是傻瓜来这里只是为了拒绝 2 个分析器而没有提供解释?如果我写错了,可以否决我的回答,但请让我知道我说错了什么(你知道,learning from mistake,诸如此类的东西?)
    【解决方案3】:

    您可以使用cURL 下载文件并使用PHP's Zip-function 解压缩

    【讨论】:

    • 为什么不 file_get_contents('example.com/file.zip'); ?使用 curl 有优势吗?
    • hmm 让我们试试 cURL,希望能实现,但主要是我在寻找一个现成的类来做这些事情,但是我可以编写自己的类(需要时间)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多