2014-01-11 76 views
0

我有很多其按类别分为静态内容页的网站,每个类别内从我的网站显示一个随机链接?

enter image description here

我想要做的是一个文件夹和index.html把一些代码里面在某种程度上,每当用户访问这个index.php文件,他将被重定向到我的文件夹中的一个主要的index.php文件,

例如:

的index.php代码:

<?php 
random_redirect_the_user(); 
?> 

凡random_redirect_the_user()将用户重定向到http://www.example.com/wiki/(FOLDER)

和(文件夹)是随机选择,并且可以是上述显示的那些中的任何文件夹中。

问题:

我写random_redirect_the_user里面有什么()来执行这种重定向?

+1

而你的问题?你有什么尝试? – idmean

+0

你会动态读取所有路径还是会在代码中手动编码路径?如果你会自动做,那么你应该阅读文件夹,例如使用scandir,然后检查路径是否是文件夹或文件,然后将所有文件夹存储在数组中,以便随后从中随机选取。 – MrSimpleMind

+0

当你试图找到列出目录内容的东西时,你的研究告诉你什么? – Sumurai8

回答

0

尝试是这样的:首先,获得所有文件夹的名称数组:

$dir = '/tmp'; //here set you main folder 
$foldersArray = scandir($dir) 

然后得到一个随机名称:

$randomFolderKey = array_rand($foldersArray); 

之后,请执行下列操作:

header('Location: www.youwebsiteUrl/'.$foldersArray[$randomFolderKey]) 
+0

is_dir必须用于在scandir之后进行检查,scandir也可以选择文件。 – MrSimpleMind

+0

是的,你说得对,但OP写道说有一个文件夹,但是,是的,它会更好chek,谢谢 – sergio

+0

array_rand返回索引(数组键)不值 – Gadoma

0
var $directories = Read your folder list from the server (Search for: PHP Read directories) 

Get a random directory (Search for: PHP random) 
// You can get a random between 0 and count($directories) 

Then redirect your user: (Search for: PHP redirect | PHP header) 

你就完成了!

0

这应该做你正在寻找的东西。

希望它可以帮助

function random_redirect_the_user(){ 
    $dir_list = array(); 
    $path = '/path/to/directory/'; 
    if ($handle = opendir($path)) { 
     while (false !== ($entry = readdir($handle))) { 
      if($entry == '.' || $entry == '..'){ 
       continue; 
      } 
      if(is_dir ($path.''.$entry)){ 
       array_push($dir_list, $path.''.$entry); 
      } 
     } 
    } 
    $count = count($dir_list); 
    $random = rand(0,$count); 
    return $dir_list[$random]; 
} 

$dir = random_redirect_the_user(); 
echo $dir;