Php 随机化整个文件夹

Php 随机化整个文件夹,php,random,Php,Random,我正在为一位心理学研究者做一个实验,参与者必须完成各种各样的任务。我被要求随机化文件夹的顺序,但保持目录中文件的顺序不变 我已经研究过如何使用glob(),但我认为我的实现是错误的 我的目录如下所示: 时钟 任务1/文件。任务2/文件。任务3/文件 目前,我有以下几点: <?php function random_folders($dir = 'Clock') { $folder = glob($dir. '/Task.*'); $f

我正在为一位心理学研究者做一个实验,参与者必须完成各种各样的任务。我被要求随机化文件夹的顺序,但保持目录中文件的顺序不变

我已经研究过如何使用
glob()
,但我认为我的实现是错误的

我的目录如下所示:

时钟 任务1/文件。
任务2/文件。
任务3/文件

目前,我有以下几点:

    <?php
    function random_folders($dir = 'Clock')
    {
        $folder = glob($dir. '/Task.*');
        $folderRand = array_rand($folder);
        return $folder[$folderRand];
    }
    echo random_folders();
    ?>

我尝试过谷歌搜索和使用stackoverflow来搜索解决方案,但我似乎找不到,任何帮助都将不胜感激

编辑 我应该提到,我正在使用HTML5、JavaScript、PHP和MySQL创建网站,如果相关的话

谢谢

您的
glob()
有点不对劲。您不希望将
放在
*
之前。然后使用
shuffle()

function random_folders($dir = 'Clock')
{
    $folder = glob($dir. '/Task*');
    shuffle($folder);
    // Returns the randomized array of folders
    return $folder;
}

$random_folders = random_folders();
// List them and their contents:
foreach ($random_folders as $rf) {
  echo "Folder: $rf\n";
  // List files in ascending order
  $files = scandir($rf, SCANDIR_SORT_ASCENDING);
  foreach ($files as $f) {
    if ($file !== "." && $file !== "..") {
      echo $file . "\n";
    }
}

非常感谢。然而,如果我想显示文件夹的内容,我会做
标题(“位置:../Clock/$files”)@user1656692文件夹中有什么?它们是PHP脚本吗?HTML文件?如果它们是PHP脚本,您可以
包含($f)
来执行一个脚本。如果它们是HTML文件,则需要
标题(“位置:../Clock/$f”)每个文件夹中大约有40个html文件。