php自定义apk安装包实例

yipeiwu_com5年前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实现基于PDO扩展连接PostgreSQL对象关系数据库示例

本文实例讲述了PHP实现基于PDO扩展连接PostgreSQL对象关系数据库的方法。分享给大家供大家参考,具体如下: $pdo = NULL; if(version_compare(...

php+jQuery+Ajax实现点赞效果的方法(附源码下载)

本文实例讲述了php+jQuery+Ajax实现点赞效果的方法。分享给大家供大家参考,具体如下: 数据库设计 先准备两张表,pic表保存的是图片信息,包括图片对应的名称、路径以及图片“赞...

php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码

web 开发中我们可能会碰到需要将某个目录下的所有文件清空,但不删除这个目录下的子目录(当然也不会删除被删除的根目录)的情况。那么对于这种只删除文件而不删除目录的方法,你是如何处理的呢?...

PHP解决URL中文GBK乱码问题的两种方法

一般情况下对URL进行UrlEncode 处理 , urlencode(),urldecode(); 也可以通过iconv('utf-8', 'gb2312', $ret)对接收到的数据...