PHP下载远程zip文件并且解压zip文件

当我们用PHP写了一个程序,并且发布出去给别人使用时,那么远程实现对程序的更新是一个很重要的点。那么如何用PHP代码实现对程序的远程更新呢?

图片[1]-PHP下载远程zip文件并且解压zip文件-编程狗
php解压zip文件

我的思路是先把更新包压缩成一个zip文件放在另一个服务器上面,在用户安装的程序里面写一个POST请求去请求服务器上面的一个判断更新的PHP文件,具体的思路就是把用户程序的版本号用POST提交到更新服务器PHP文件里面,然后更新服务器PHP文件里面定义一个变量,这个变量就是最新的版本号,如果用户的版本号小于当前的版本号就返回一个需要更新即可。

PHPzip

具体代码如下:

<?php 
header('Access-Control-Allow-Origin:*');
header('Access-Control-Allow-Methods:POST');    //表示只允许POST请求
header('Access-Control-Allow-Headers:x-requested-with, content-type'); //请求头的限制
$now = 11.1;
if($_POST['id']<$now){
    echo 1;
}else{
echo 0;
    
}
?>

那么在用户程序那边的更新我们是利用php的copy()函数来下载,关于copy函数的使用方法可以看我之前的一篇文章:PHP下载远程文件到本地的函数-copy()

首先使用copy函数下载远程的zip更新包,然后使用unzip给下载的压缩包进行解压,其中$filePath是压缩包的地址,$path是要解压到的目录。

具体的代码如下:

<?php
        copy("http://sq.lzz0.com/iapp.zip","../iapp.zip");
        function unzip($filePath, $path) {
            if (empty($path) || empty($filePath)) {
                return false;
            }
            $zip = new ZipArchive();
            if ($zip->open($filePath) === true) {
                $zip->extractTo($path);
                $zip->close();
                return true;
            } else {
                return false;
            }
        }
        unzip("../iapp.zip","../A");
        ?>

这个代码就是将远程下载的iapp.zip解压到上一级目录的A目录下面。

© 版权声明
THE END
喜欢就支持一下吧
点赞1 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片