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 相关文章推荐
服务器端解压缩zip的脚本
Dec 22 PHP
用ADODB来让PHP操作ACCESS数据库的方法
Dec 31 PHP
用php获取本周,上周,本月,上月,本季度日期的代码
Aug 05 PHP
PHP中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
Jul 09 PHP
PHP中使用SimpleXML检查XML文件结构实例
Jan 07 PHP
PHP中curl_setopt函数用法实例分析
Apr 16 PHP
php比较相似字符串的方法
Jun 05 PHP
yii2简单使用less代替css示例
Mar 10 PHP
PHP CodeIgniter分页实例及多条件查询解决方案(推荐)
May 20 PHP
Laravel模型间关系设置分表的方法示例
Apr 21 PHP
PHP反射实际应用示例
Apr 03 PHP
详解Laravel制作API接口
May 31 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
array_multisort实现PHP多维数组排序示例讲解
2011/01/04 PHP
Smarty中的注释和截断功能介绍
2015/04/09 PHP
Yii编程开发常见调用技巧集锦
2016/07/15 PHP
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
2018/10/14 PHP
jquery中this的使用说明
2010/09/06 Javascript
jquery ajax abort()的使用方法
2010/10/28 Javascript
JQuery中对服务器控件 DropdownList, RadioButtonList, CheckboxList的操作总结
2011/06/28 Javascript
面向对象的Javascript之一(初识Javascript)
2012/01/20 Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
2014/05/26 Javascript
轻松创建nodejs服务器(6):作出响应
2014/12/18 NodeJs
jquery通过load获取文件的内容并跳到锚点的方法
2015/01/29 Javascript
JavaScript使用Replace进行字符串替换的方法
2015/04/14 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
js跨域请求数据的3种常用的方法
2015/12/01 Javascript
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
Node.js Streams文件读写操作详解
2016/07/04 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
JavaScript实现汉字转换为拼音的库文件示例
2016/12/22 Javascript
原生js中ajax访问的实例详解
2017/09/19 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
2019/04/25 Javascript
JS中作用域以及变量范围分析
2020/07/18 Javascript
Vue+element+cookie记住密码功能的简单实现方法
2020/09/20 Javascript
python操作MongoDB基础知识
2013/11/01 Python
Python批量重命名同一文件夹下文件的方法
2015/05/25 Python
python框架中flask知识点总结
2018/08/17 Python
python3+requests接口自动化session操作方法
2018/10/13 Python
pygame游戏之旅 游戏中添加显示文字
2018/11/20 Python
Python的numpy库下的几个小函数的用法(小结)
2019/07/12 Python
python打造爬虫代理池过程解析
2019/08/15 Python
pip install python 快速安装模块的教程图解
2019/10/08 Python
python修改文件内容的3种方法详解
2019/11/15 Python
巴黎卡诗加拿大官网:Kérastase加拿大
2018/11/12 全球购物
销售工作岗位职责
2013/12/24 职场文书
工作调动申请报告
2015/05/18 职场文书
游戏《铁拳》动画化!2022年年内播出
2022/03/21 日漫
Redis入门基础常用操作命令整理
2022/06/01 Redis