当我们开发的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文件的更多相关文章

  1. 基于nginx实现二维码下载安装apk文件

    将apk文件置于nginx目录下 <!--进入nginx安装路径--> /usr/local/nginx <!--新建放apk的目录--> mkdir -p resources ...

  2. android 开发 程序中下载安装APK文件 问题汇总 解析程序包时出现问题

    1 若把APK文件保存到应用程序的files目录下,则一定注意保存时使用 FileOutputStream os = openFileOutput(fileName, MODE_WORLD_READA ...

  3. gplaycli—— 用于从 GooglePlayStore 中下载和管理 Apk 文件的命令行工具

    gplaycli-- 用于从 GooglePlayStore 中下载和管理 Apk 文件的命令行工具 这个 GooglePlay市场 中 https://play.google.com/store/a ...

  4. 上载android应用的apk文件变成了zip-网下转载的解决方案

    下载android应用的apk文件变成了zip--网上转载的解决方案 下载android应用的apk文件变成了zip--网上转载的解决方案 解决方案一. 最近把开发的android应用放在公司网站上, ...

  5. android手机自带浏览器无法识别apk文件

    在项目中遇到安卓自带浏览器下载成功 , 但无法打开已下载的APK文件自动安装的问题,特别是三星系列的手机普遍存在这种问题,google后发现也有朋友遇到类似的问题: http://bbs.csdn.n ...

  6. 在Android studio模拟器中运行apk文件

    菜鸟级玩家比看文. win平台下下载的apk文件,怎么能模拟运行出来. 首先得安装Android SDK,不会的自行百度一下. 接下来,打开AVD模拟器,自己创建一个模拟器(过程自己实践) 然后,将你 ...

  7. Android安装包apk文件在某些版本操作系统上安装解析包出错问题的解决办法

    当我们将Android升级功能的中的下载新版本apk文件存放在data/data/xxx.apk位置时,在有的些版本的手机中安装可能会出现安装包解析出错的问题,对于该问题的解决方案是提升该文件的权限. ...

  8. 如何设置让iis服务器支持.apk文件的下载

    随着智能手机的普及,越来越多的人使用手机上网,很多网站也应手机上网的需要推出了网站客户端,.apk文件就是安卓(Android)的应用程序后缀名,默认情况下,使用IIS作为Web服务器的无法下载此文件 ...

  9. IIS 服务器 支持.apk文件的下载

    IIS服务器不能下载.apk文件的解决办法:既然.apk无法下载是因为没有MIME,那么添加一个MIME类型就可以了 随着智能手机的普及,越来越多的人使用手机上网,很多网站也应手机上网的需要推出了网站 ...

随机推荐

  1. OpenMP使用体验报告(概述)

    (本文原创,首次使用OpenMP,将使用体会记录下来供学习) OpenMP是啥玩意??? 多核多线程处理器的出现,让并行计算成为可能.在此之前,单核处理器并不能并行计算,这是很显然的,只有一个核心只能 ...

  2. P1272

    P1272 重建道路 题目描述 一场可怕的地震后,人们用N个牲口棚(1≤N≤150,编号1..N)重建了农夫John的牧场.由于人们没有时间建设多余的道路,所以现在从一个牲口棚到另一个牲口棚的道路是惟 ...

  3. 【洛谷P4124】[CQOI2016]手机号码

    手机号码 数位DP模板题 记忆化搜索: #include<iostream> #include<cstring> #include<cstdio> using na ...

  4. Git使用(一)

    声明: 第一次使用git,只能保证我的方法可以用,肯定不是最简最好的.以后需要用到更多的用法的时候再来这里更新. 说实话,记下来主要是因为自己记性不好,各种配置记不住,都是当备忘录用的,(囧囧囧囧囧) ...

  5. AngularJS web应用程序

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  6. SpringMvc获取上下文

    import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.spri ...

  7. IOS异步获取数据并刷新界面dispatch_async的使用方法

    在ios的开发和学习中多线程编程是必须会遇到并用到的.在java中以及Android开发中,大量的后台运行,异步消息队列,基本都是运用了多线程来实现. 同样在,在ios移动开发和Android基本是很 ...

  8. 剑指offer—二维数组中的查找

    题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...

  9. Hello,移动WEB—Viewport_Meta标签

    二   Viewport meta标签: 语法:<meta name="viewport" content="name=value, name=value" ...

  10. HTML5—— 你肯定会用到的新知识

    HTML5 简介 语义化标签 新增结构标签 表单 多媒体 HTML5 简介 XML是更加严格的语言 是HTML和XHTML的结合 语义化标签 新增的语义化标签 header nav section a ...