php自定义apk安装包实例

yipeiwu_com6年前PHP代码库

本文实例讲述了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 进度条函数的简单实例

PHP 进度条函数的简单实例 其实进度条的做法很简单的。网上的一大堆,自己写了一个,哈哈,感觉看起来很有感觉。 实例代码: function ShowPercent($now,$to...

php self,$this,const,static,->的使用

今天来总结下。 、在类的内部方法访问已经声明为const及static的属性时,使用self::$name的形式。注意的是const属性的申明格式,const PI=3.14,而不是co...

PHP中Array相关函数简介

使用函数array_keys(),得到数组中所有的键,参数:数组 $arr=array(); $arr['one']="one"; $arr['two']="two"; $arr['...

phpstudy默认不支持64位php的解决方法

备忘一下: windows上用phpstudy比较简便,但是其默认的php所有版本都是32位的,有坑,比如int最大值。 所以从php官网 点击打开链接http://windows.ph...

PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法

PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法

PHP在本机可以正常导出Excel,在上Linux就提示ERR_EMPTY_RESPONSE,下面说一下怎么不降版本还能正常导出Excel,解决上面的问题。 使用导出Excel的时候显示...