PHP管理供下载的APK文件
当我们开发的APP多的时候,把所有的APK文件统一放到一个目录中管理,是一个不错的选择;
管理的方法有很多,这里说一种:
1.、创建目录结构,先创建根目录download,在根目录中创建项目目录,在项目目录中存放不同版本的APK文件,如下图:

2、在每个根目录里创建一个list.txt文件,list.txt里边记录各个版本的APK文件名,每行记录一条记录;

3、在根目录里创建一个index.php文件,根据list.txt文件查找最新的APK文件名,代码如下:
<?php
header("Content-type: text/html; charset=utf-8");
if($path=$_SERVER['REQUEST_URI']){ if(is_dir(__DIR__.$path)){//指向目录的url,如download.xxx.com/source
$file=__DIR__.$path.'/list.txt';
if(file_exists($file)){//list.txt文件存在
$f=file($file);//把list.txt文件读入一个数组中
if($count_f=count($f)){//
$f_name= $f[$count_f-1];//取最后一个元素,即list.txt最后一行 $path=trim($_SERVER['SERVER_NAME'].$path.$f_name);
exit("<script>location.href='http://{$path}'</script>");//将url指向文件,若用header()直接下载,在微信中不能直接打开;
} }
}
exit("文件不存在!");
}
4.nginx服务器配置设置,当请求的url路径无后缀时指向index.php文件:
#查找 nginx 配置目录
nginx -t
#打开配置文件
vi download.conf
#在文件件中添加如下代码,
location ~ .*\/$
{
try_files '' /index.php;
}
至此已经可以使用了。
另外的方法还可以使用管理系统+数据库的方法进行管理,文件统一由后台管理上传,个人觉得这种方法更佳,但人在江湖身不由已;
PHP管理供下载的APK文件的更多相关文章
- 基于nginx实现二维码下载安装apk文件
将apk文件置于nginx目录下 <!--进入nginx安装路径--> /usr/local/nginx <!--新建放apk的目录--> mkdir -p resources ...
- android 开发 程序中下载安装APK文件 问题汇总 解析程序包时出现问题
1 若把APK文件保存到应用程序的files目录下,则一定注意保存时使用 FileOutputStream os = openFileOutput(fileName, MODE_WORLD_READA ...
- gplaycli—— 用于从 GooglePlayStore 中下载和管理 Apk 文件的命令行工具
gplaycli-- 用于从 GooglePlayStore 中下载和管理 Apk 文件的命令行工具 这个 GooglePlay市场 中 https://play.google.com/store/a ...
- 上载android应用的apk文件变成了zip-网下转载的解决方案
下载android应用的apk文件变成了zip--网上转载的解决方案 下载android应用的apk文件变成了zip--网上转载的解决方案 解决方案一. 最近把开发的android应用放在公司网站上, ...
- android手机自带浏览器无法识别apk文件
在项目中遇到安卓自带浏览器下载成功 , 但无法打开已下载的APK文件自动安装的问题,特别是三星系列的手机普遍存在这种问题,google后发现也有朋友遇到类似的问题: http://bbs.csdn.n ...
- 在Android studio模拟器中运行apk文件
菜鸟级玩家比看文. win平台下下载的apk文件,怎么能模拟运行出来. 首先得安装Android SDK,不会的自行百度一下. 接下来,打开AVD模拟器,自己创建一个模拟器(过程自己实践) 然后,将你 ...
- Android安装包apk文件在某些版本操作系统上安装解析包出错问题的解决办法
当我们将Android升级功能的中的下载新版本apk文件存放在data/data/xxx.apk位置时,在有的些版本的手机中安装可能会出现安装包解析出错的问题,对于该问题的解决方案是提升该文件的权限. ...
- 如何设置让iis服务器支持.apk文件的下载
随着智能手机的普及,越来越多的人使用手机上网,很多网站也应手机上网的需要推出了网站客户端,.apk文件就是安卓(Android)的应用程序后缀名,默认情况下,使用IIS作为Web服务器的无法下载此文件 ...
- IIS 服务器 支持.apk文件的下载
IIS服务器不能下载.apk文件的解决办法:既然.apk无法下载是因为没有MIME,那么添加一个MIME类型就可以了 随着智能手机的普及,越来越多的人使用手机上网,很多网站也应手机上网的需要推出了网站 ...
随机推荐
- MariaDB修改端口号
修改端口号 打开my.ini文件
- 卸载由源码编译安装的软件(如OpenCV)
看安装软件的时候有没有使用--prefix这个参数,如果有那就把你指定的文件给删除了就行了. 如果没有用这个参数就麻烦一点了,那就进入到软件解压后的目录,执行sudo make uninstall看能 ...
- 【字符串】跳来跳去的KMP匹配
原理: 不给予证明啦(懒得一批 但是代码中有给还算详细的注释 参考:https://www.cnblogs.com/yjiyjige/p/3263858.html 模板题: 洛谷P3375: http ...
- redis的数据结构与命令
以下部分文档,摘自51cto讲师:汤小洋 redis提供五种数据类型:string,hash,list,set及zset(sorted set). Redis数据就是以key value形式来存储的 ...
- Angularjs实例2
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- Flask—03-bootstrap与表单
bootstrap与表单 Bootstrap是美国Twitter公司的设计师Mark Otto和Jacob Thornton合作基于HTML.CSS.JavaScript 开发的简洁.直观.强悍的前端 ...
- Oracle 用户、授权、角色管理
Oracle 用户管理 一.创建用户的Profile文件SQL> create profile student limit // student为资源文件名FAILED_LOGIN_ATTEMP ...
- zepto 基础知识(2)
20.append append(content) 类型:self 在每个匹配的元素末尾插入内容(内部插入).内容可以为html 字符串.dom节点,或者节点组成的数组. $('ul').append ...
- 小胖办证 wzoi
小胖办证 题目描述: xuzhenyi要办个签证.办证处是一座M层的大楼,1<=M<=100. 每层楼都有N个办公室,编号为1..N(1<=N<=500).每个办公室有一个签证 ...
- 利用login-path对MySQL安全加固
Preface Connection security is one of the most important safety strategies which we should ...