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 相关文章推荐
apache+mysql+php+ssl服务器之完全安装攻略
Sep 05 PHP
自动分页的不完整解决方案
Jan 12 PHP
PHP5中新增stdClass 内部保留类
Jun 13 PHP
PHP中static关键字原理的学习研究分析
Jul 18 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
Oct 30 PHP
php将12小时制转换成24小时制的方法
Mar 31 PHP
php限制文件下载速度的代码
Oct 20 PHP
WordPress中获取所使用的模板的页面ID的简单方法
Dec 31 PHP
PHP处理Ajax请求与Ajax跨域问题
Feb 13 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
Aug 15 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
Jan 02 PHP
PHP并发场景的三种解决方案代码实例
Feb 27 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
当年上海收录机产品生产,进口和价格情况
2021/03/04 无线电
Phpbean路由转发的php代码
2008/01/10 PHP
PHP伪造referer实例代码
2008/09/20 PHP
PHP+jQuery+Ajax实现用户登录与退出
2015/04/27 PHP
php简单构造json多维数组的方法示例
2017/06/08 PHP
Javascript 的addEventListener()及attachEvent()区别分析
2009/05/21 Javascript
MooTools 1.2介绍
2009/09/14 Javascript
jquery select动态加载选择(兼容各种浏览器)
2013/02/01 Javascript
jquery实现鼠标拖拽滑动效果来选择数字的方法
2015/05/04 Javascript
jQuery 跨域访问解决原理案例详解
2016/07/09 Javascript
vue-music关于Player播放器组件详解
2017/11/28 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
2017/12/04 Javascript
值得收藏的八个常用的js正则表达式
2018/10/19 Javascript
vue 中使用 watch 出现了如下的报错的原因分析
2019/05/21 Javascript
JS实现的碰撞检测与周期移动完整示例
2019/09/02 Javascript
[04:29]2016国际邀请赛中国区预选赛Ehome战队教练采访
2016/06/27 DOTA
Python内置的HTTP协议服务器SimpleHTTPServer使用指南
2016/03/30 Python
关于python pyqt5安装失败问题的解决方法
2017/08/08 Python
Python中的pack和unpack的使用
2018/03/12 Python
python模块smtplib学习
2018/05/22 Python
Python生成指定数量的优惠码实操内容
2019/06/18 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
2019/12/12 Python
python面向对象之类属性和类方法案例分析
2019/12/30 Python
关于Python字符串显示u...的解决方式
2020/03/06 Python
Html5 webview元素定位工具的实现
2020/08/07 HTML / CSS
英国演唱会订票网站:Ticket Selection
2018/03/27 全球购物
巴西香水和化妆品购物网站:The Beauty Box
2019/09/03 全球购物
香港零食网购:上仓胃子
2020/06/08 全球购物
介绍一下grep命令的使用
2015/06/12 面试题
污水厂厂长岗位职责
2014/01/04 职场文书
党员培训思想汇报
2014/01/07 职场文书
2014幼儿园保育员工作总结
2014/11/10 职场文书
2015年国培研修感言
2015/08/01 职场文书
2016秋季小学开学寄语
2015/12/03 职场文书
Nginx的rewrite模块详解
2021/03/31 Servers
python中__slots__节约内存的具体做法
2021/07/04 Python