php自定义apk安装包实例


Posted in PHP onOctober 20, 2014

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
php 中include()与require()的对比
Oct 09 PHP
PHP4中session登录页面的应用
Jul 25 PHP
zf框架的db类select查询器join链表使用示例(zend框架)
Mar 14 PHP
ThinkPHP视图查询详解
Jun 30 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
Jul 15 PHP
thinkphp获取栏目和文章当前位置的方法
Oct 29 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
Nov 18 PHP
php恢复数组的key为数字序列的方法
Apr 28 PHP
CI框架入门之MVC简单示例
Nov 21 PHP
Mac系统完美安装PHP7详细教程
Jun 06 PHP
PHP实现的各类hash算法长度及性能测试实例
Aug 27 PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 19 PHP
php防止站外远程提交表单的方法
Oct 20 #PHP
php获取textarea的值并处理回车换行的方法
Oct 20 #PHP
php实现给图片加灰色半透明效果的方法
Oct 20 #PHP
PHP清除数组中所有字符串两端空格的方法
Oct 20 #PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
Oct 20 #PHP
php实现删除指定目录下相关文件的方法
Oct 20 #PHP
PHP中加密解密函数与DES加密解密实例
Oct 17 #PHP
You might like
PHP 配置open_basedir 让各虚拟站点独立运行
2009/11/12 PHP
PHP中操作ini配置文件的方法
2013/04/25 PHP
最新制作ThinkPHP3.2.3完全开发手册
2015/11/23 PHP
PHP获取ttf格式文件字体名的方法示例
2019/03/06 PHP
Prototype源码浅析 Enumerable部分(二)
2012/01/18 Javascript
jquery 插件开发 extjs中的extend用法小结
2013/01/04 Javascript
jQuery中setTimeout的几种使用方法小结
2013/04/07 Javascript
jQuery随机切换图片的小例子
2013/04/18 Javascript
jquery 清空file域示例(兼容个浏览器)
2013/10/11 Javascript
js获取判断上传文件后缀名的示例代码
2014/02/19 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
2014/05/08 Javascript
Validform+layer实现漂亮的表单验证特效
2016/01/17 Javascript
NodeJS实现客户端js加密
2017/01/09 NodeJs
AngularJS执行流程详解
2017/02/17 Javascript
jquery dataTable 获取某行数据
2017/05/05 jQuery
Ionic2开发环境搭建教程
2020/08/20 Javascript
用React实现一个完整的TodoList的示例代码
2017/10/30 Javascript
vue 挂载路由到头部导航的方法
2017/11/13 Javascript
AjaxUpLoad.js实现文件上传
2018/03/05 Javascript
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
JavaScript前端页面搜索功能案例【基于jQuery】
2019/07/10 jQuery
webpack5 联邦模块介绍详解
2020/07/08 Javascript
Python计算回文数的方法
2015/03/11 Python
python实现K最近邻算法
2018/01/29 Python
python的格式化输出(format,%)实例详解
2018/06/01 Python
python3安装crypto出错及解决方法
2019/07/30 Python
使用Keras画神经网络准确性图教程
2020/06/15 Python
python实现简单的五子棋游戏
2020/09/01 Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
2020/11/18 Python
通用的Django注册功能模块实现方法
2021/02/05 Python
纯CSS3实现鼠标悬停提示气泡效果
2014/02/28 HTML / CSS
css3实现可滑动跳转的分页插件示例
2014/05/08 HTML / CSS
班组安全员工作职责
2014/02/01 职场文书
个人四风问题整改措施思想汇报
2014/10/04 职场文书
2016廉洁从业学习心得体会
2016/01/19 职场文书
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis