本文实例讲述了php自定义apk安装包的方法,分享给大家供大家参考。具体实现方法如下:
众所周知,apk格式安装文件是android智能系统的安装文件,下面我们来看一个利用php实现自定义apk安装包实例。
一、需求:
需要实现对产品进行一次推荐好友安装的活动,每个会员下载自己的专属安装包(里面记录会员的相关信息)。
二、思路:
经过了解,发现apk安装包原来只是zip的一个马甲,使用php的ZipArchive类可以对文件进行操作。
三、实现代码:
// 源文件 $apk = "gb.apk"; // 生成临时文件 $file = tempnam("tmp", "zip"); // 复制文件 if(false===file_put_contents($file, file_get_contents($apk))){ exit('copy faild!'); } // 打开临时文件 $zip = new ZipArchive(); $zip->open($file); // 添加文件 // 由于apk限定只能修改此目录内的文件,否则会报无效apk包 $zip->addFromString('META-INF/extends.json', json_encode(array('author'=>'deeka'))); // 关闭zip $zip->close(); // 下载文件 header("Content-Type: application/zip"); header("Content-Length: " . filesize($file)); header("Content-Disposition: attachment; filename=\"{$apk}\""); // 输出二进制流 readfile($file); // 删除临时文件 unlink($file);
希望本文所述对大家的php程序设计有所帮助。
OpenResty 官方 APK 包仓库提供下面的 apk 包 (适用于 Alpine 系统)。 openresty 这是用于核心 OpenResty 服务的生产版本。 这个包注册在 /usr/bin/openresty, 它是 OpenResty 的 nginx 可执行文件 /usr/local/openresty/nginx/sbin/nginx 的符号链接。 默认的,你应该能在你的 PATH
go install 是 Go 中自动包安装工具:如需要将包安装到本地它会从远端仓库下载包:检出、编译和安装一气呵成。 在包安装前的先决条件是要自动处理包自身依赖关系的安装。被依赖的包也会安装到子目录下,但是没有文档和示例:可以到网上浏览。 go install 使用了 GOPATH 变量(详见第 2.2 节)。 远端包(详见第 9.5 节): 假设我们要安装一个有趣的包 tideland(它包含
我基于此主题为log4j2记录器做了一个包装:如何向log4j消息添加前缀(在对象级别) 以下是我所拥有的: 进口org.apache.log4j.记录仪; 用法: 问题: 作为输出,我有一个到类的链接 "LogWrapper.java:17"它没有指向中调用记录器的行。 如何解决?
概述 有些时候,程序包可能需要在安装期间执行其他操作,例如在程序默认扩展库之外安装其他扩展包。 在这种情况下,你可以考虑创建自定义安装程序来处理你的特定安装逻辑。 调用自定义安装程序 假设你的程序已经有特定模块的自定义安装程序,那么调用这个安装程序就需要在扩展包文件中定义正确的安装 类型 。 关于如何创建自定义安装程序的说明,请参考下一章节 每个自定义安装程序都会定义它识别的安装 类型 。 如果执
嗨,我正在尝试使用composer设置一个项目。我能够安装CakePHP,但在自定义目录上安装CakePHP/debug_工具包时遇到了困难。我试图将其安装在“vendor/cakephp/cakephp/app/Plugin/DebugKit/”上,因为cakephp要求其插件安装在其“app”文件夹的Plugin目录中。 我已经根据这个网站设置了我的composer.json,但插件仍然安装在
我想用基本的ubuntu模板启动一个容器——但我希望它能自动安装几个额外的软件包——或者理想情况下运行一个bash脚本。 看起来我应该使用钩子,当我在一个配置文件中创建一个容器传递时,它将一个特定的钩子设置为我的bash脚本。但我忍不住想一定有更简单的方法?