在每个页面刷新时播放具有相同名称的不同mp3文件

时间:2015-06-01 16:22:14

标签: php nginx rewrite mp3

我有一个mp3文件的文件列表:

http://server.com/7fb77afc17f7.mp3 
http://server.com/9fc048752087.mp3  
http://server.com/2k4487f62227.mp3 

每次打开我都需要:

http://server.com/music.mp3 

它播放了我随机的文件。做这个的最好方式是什么?

我在思考nginx重写,也许是在php的帮助下。

这样的东西会起作用吗?

location / {
     rewrite 2k4487f62227.mp3 /music.mp3 break;
     rewrite 9fc048752087.mp3 /music.mp3 break;
 }

1 个答案:

答案 0 :(得分:0)

如果您不需要配置在nginx中,则可以创建仅限php的解决方案:

1 - 列出文件夹

中的mp3文件

如果有人正在寻找这个答案的评论中提到的复制粘贴/轻松解决方案,这里是第一部分的示例(减去扩展的过滤器):

static function getFiles($dir, $includeFolders = true) {
    if (substr($dir, -1) != "/") $dir = "{$dir}/";
    $files = array();
    if ($handle = opendir($dir)) {
        while (false !== ($file = readdir($handle))) {
            if (($file != ".") && ($file != "..") && ($includeFolders || !is_dir($dir.$file))) {
                $files[] = $file;
            }
        }
        closedir($handle);
    }
    return $files;
}

2 - 使用array_rand返回其中一个文件

3 - 播放文件