如何在此代码中将 while 循环转换为 foreach


How to convert while loop into foreach in this code?

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Video display</title>
</head>
<body>
<?php
    $directory="video/";
    if(is_dir($directory))
    {
        if($openfile=(opendir($directory)))
        {
            while(($video=readdir($openfile))!==false)
            {
                if($video!="." && $video!="..")
                {
                ?>
                    <video controls autoplay>
                        <source src="video/<?php echo $video;?>"/>
                    </video>
                <?php
                    echo $video;
                }
            }
        }
        closedir($openfile);
    }
?>
</body>
</html>

这段代码运行良好,但我想在 foreach 循环中显示视频,那么如何在这段代码中将 while 循环转换为 foreach 循环

您可以使用

glob

<?php
foreach( glob("videos/*") as $strFileName) {
    echo "<video controls autoplay>
            <source src='"video/". $strFileName ."'"/>
          </video>";
}