重定向到目录中的随机index.html文件?

时间:2017-01-28 13:55:15

标签: php html

如何将www.example.com/random.php重定向到www.example.com/pages/目录中的随机index.html文件?请注意,index.html文件位于/ pages /中的文件夹内。任何帮助或指导表示赞赏!

2 个答案:

答案 0 :(得分:1)

好吧,您可以列出所有这些页面(自动或手动),然后使用随机数选择其中一个。最后,您将位置标题发送到该页面...

这是一个简单的例子:

<?php
define('FILE_PATH_PATTERN', 'pages/*/index.html');
$indexPages = glob(FILE_PATH_PATTERN);
$targetIndex = rand(0, count($indexPages)-1);
$targetPage = &$indexPages[$targetIndex];
header('Location: ' . $targetPage);

结果是位置标头被发送到客户端,转发到目标页面/pages/_some_random_folder_/index.html

但请注意,这是值得怀疑的......通常在编写基于php的Web应用程序时,想要发布内部文件系统层次结构(因为它是内部的)。而是使用中央路由器脚本来响应所有传入请求,并仅传递从某个内部html标记文件读取的内容。

答案 1 :(得分:0)

尝试:

function get_rand_page(){
     $dirs=array_filter(glob(__DIR__.'/pages/*'), 'is_dir');//get all the directories in that file.
     $rand_dir=$dirs[array_rand($dirs)];//select a random directory name
     return $_SERVER['HTTP_HOST']."/pages/".$rand_dir."/index.html";//return random sub-directory as uri

}