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字符编码问题之GB2312 VS UTF-8解决方法
Jun 23 PHP
PHP取进制余数函数代码
Jan 19 PHP
php页面缓存ob系列函数介绍
Oct 18 PHP
php 使用GD库为页面增加水印示例代码
Mar 24 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
Jun 23 PHP
php计算给定时间之前的函数用法实例
Apr 03 PHP
php使用MySQL保存session会话的方法
Jun 26 PHP
PHP实现批量修改文件后缀名的方法
Jul 30 PHP
php如何获取文件的扩展名
Oct 28 PHP
使用PHP uniqid函数生成唯一ID
Nov 18 PHP
phpstorm 正则匹配删除空行、注释行(替换注释行为空行)
Jan 21 PHP
PHP实现简单用户登录界面
Oct 23 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
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
2013/11/26 PHP
php+mysql实现数据库随机重排实例
2014/10/17 PHP
YII2框架中actions的作用与使用方法示例
2020/03/13 PHP
短信提示使用 特效
2007/01/19 Javascript
javascript,jquery闭包概念分析
2010/06/19 Javascript
date.parse在IE和FF中的区别
2010/07/29 Javascript
javascript简单实现命名空间效果
2014/03/06 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
AngularJS 表达式详解及实例代码
2016/09/14 Javascript
巧用数组制作图片切换js代码
2016/11/29 Javascript
原生javascript AJAX 三级联动的实现代码
2018/05/04 Javascript
使用 vue-i18n 切换中英文效果
2018/05/23 Javascript
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
原生JavaScript实现的无缝滚动功能详解
2020/01/17 Javascript
Javascript ParentNode和ChildNode接口原理解析
2020/03/16 Javascript
vue实现点击按钮切换背景颜色的示例代码
2020/06/23 Javascript
jQuery实现滑动开关效果
2020/08/02 jQuery
python实现的一只从百度开始不断搜索的小爬虫
2013/08/13 Python
Python访问MySQL封装的常用类实例
2014/11/11 Python
Python实现的HMacMD5加密算法示例
2018/04/03 Python
Python2.7 实现引入自己写的类方法
2018/04/29 Python
详解python3 + Scrapy爬虫学习之创建项目
2019/04/12 Python
Python实现GIF图倒放
2020/07/16 Python
python一些性能分析的技巧
2020/08/30 Python
全球领先的各类汽车配件零售商:Advance Auto Parts
2016/08/26 全球购物
春秋航空官方网站:Spring Airlines
2017/09/27 全球购物
Agoda中文官网:安可达(低价预订全球酒店)
2021/01/18 全球购物
大学毕业生最详细的自我评价分享
2013/11/18 职场文书
知识竞赛活动方案
2014/02/18 职场文书
最美乡村医生事迹材料
2014/06/02 职场文书
学生顶撞老师的检讨书
2014/09/17 职场文书
闪闪红星观后感
2015/06/08 职场文书
组织委员竞选稿
2015/11/21 职场文书
2016年教师学习教师法心得体会
2016/01/20 职场文书
【海涛解说】史上最给力比赛,挑战DOTA极限
2022/04/01 DOTA
MySQL性能指标TPS+QPS+IOPS压测
2022/08/05 MySQL