当我们开发的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;
}
至此已经可以使用了。
另外的方法还可以使用管理系统+数据库的方法进行管理,文件统一由后台管理上传,个人觉得这种方法更佳,但人在江湖身不由已;