php写入php文件-PHP实现在线一键更新系统

2023-08-26 0 5,386 百度已收录

1:打开一个socket,数据结构如下:

{
	"msg": "true",
	"status": 1,
	"data": [
		{
			"name": "pylists云课堂",
			"buildno": "1.0.3",
			"update_time": 1583679270,
			"content": "",
			"filezip": "http://v.heimicms.com/fa84cef8d10f76eba043402aea925f4a.zip"
		}
	]
}

2:客户端代码请求接收filezip文件的地址,读取内容,并将zip压缩文件写入目录

3:解压文件并覆盖

防范措施:

压缩包的目录结构需要保持一致。 如果使用git或者svnphp写入php文件php写入php文件,最好能实现全量更新和增量更新。

php写入php文件-PHP实现在线一键更新系统

目前压缩包需要单独打包上传到我们自己的云端供客服下载。

PHP 代码片段:

  public function appOnlineUpdate()
    {
        $PyDomain = config("PyDomain");
        $url       = $PyDomain . '/api/version/vlist';
        $updatearr = json_decode(curl_get($url), true)['data'][0];
        $filezip   = $updatearr['filezip'];
        $content   = curl_post($filezip);
        if (!$content) {
            ajaxmsg("源码更新包不存在", 0);
        }
        $file_path = APPUPDATE_PATH . 'appupdate.zip';
        if (file_exists($file_path)) {
            unlink($file_path);
        }
        $fp      = fopen($file_path, 'w');
        $zipbyte = fwrite($fp, $content);
        if ($zipbyte > 0) {
            $zip = new ZipArchive();
            if ($zip->open($file_path) === TRUE) {
                $zip->extractTo(APPUPDATE_PATH);
                $zip->close();
                $version                    = Db::name("version")->order("id desc")->find();
                $versionData                = [];
                $versionData['name']        = $updatearr['name'];
                $versionData['buildno']     = $updatearr['buildno'];
                $versionData['content']     = $updatearr['content'];
                $versionData['update_time'] = time();
                Db::name("version")->where("id", "=", $version["id"])->update($versionData);
                if (file_exists($file_path)) {
                    unlink($file_path);
                }
                ajaxmsg("升级成功!", 1);
            } else {
                ajaxmsg("无法打开压缩文件,检查文件目录权限!", 0);
            }
        } else {
            ajaxmsg("更新失败", 0);
        }
    }

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 php php写入php文件-PHP实现在线一键更新系统 https://www.wkzy.net/game/157487.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务