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 相关文章推荐
MySQL数据源表结构图示
Jun 05 PHP
探讨:array2xml和xml2array以及xml与array的互相转化
Jun 24 PHP
php 修改、增加xml结点属性的实现代码
Oct 22 PHP
php使用GeoIP库实例
Jun 27 PHP
避免Smarty与CSS语法冲突的方法
Mar 02 PHP
php专用数组排序类ArraySortUtil用法实例
Apr 03 PHP
PHP使用array_merge重新排列数组下标的方法
Jul 22 PHP
PHP上传文件参考配置大文件上传
Dec 16 PHP
CodeIgniter配置之SESSION用法实例分析
Jan 19 PHP
Smarty简单生成表单元素的方法示例
May 23 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
Oct 02 PHP
php实现JWT验证的实例教程
Nov 26 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
默默简单的写了一个模板引擎
2007/01/02 PHP
CodeIgniter图像处理类的深入解析
2013/06/17 PHP
深入解析php中的foreach函数
2013/08/31 PHP
PHP数据过滤的方法
2013/10/30 PHP
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
php curl中gzip的压缩性能测试实例分析
2016/11/08 PHP
php mysql实现mysql_select_db选择数据库
2016/12/30 PHP
javascript 网页跳转的方法
2008/12/24 Javascript
JavaScript Event事件学习第一章 Event介绍
2010/02/07 Javascript
js时间日期和毫秒的相互转换
2013/02/22 Javascript
JS实现同时搜索百度和必应的方法
2015/01/27 Javascript
js实现类似MSN提示的页面效果代码分享
2015/08/24 Javascript
require.js的用法详解
2015/10/20 Javascript
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
vue.js组件vue-waterfall-easy实现瀑布流效果
2017/08/22 Javascript
微信小程序用户位置权限的获取方法(拒绝后提醒)
2018/11/15 Javascript
React学习之受控组件与数据共享实例分析
2020/01/06 Javascript
JS图片预加载三种实现方法解析
2020/05/08 Javascript
Vue时间轴 vue-light-timeline的用法说明
2020/10/29 Javascript
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
解决python "No module named pip" 的问题
2018/10/13 Python
numpy.meshgrid()理解(小结)
2019/08/01 Python
Pytorch 多块GPU的使用详解
2019/12/31 Python
Python爬虫与反爬虫大战
2020/07/30 Python
Python logging日志库空间不足问题解决
2020/09/14 Python
美国婴儿服装购物网站:Gerber Childrenswear
2020/05/06 全球购物
比较一下entity bean和session bean
2013/12/27 面试题
土木工程建筑专业毕业生求职信
2013/10/21 职场文书
计算机专业毕业生的自我评价
2013/11/18 职场文书
自我管理的活动方案
2014/08/25 职场文书
市委常委班子党的群众路线教育实践活动整改措施
2014/10/02 职场文书
县长群众路线对照检查材料思想汇报
2014/10/02 职场文书
Python中for后接else的语法使用
2021/05/18 Python
SpringBoot生成License的实现示例
2021/06/16 Java/Android