php包含随机文件,页面加载时不重复
我目前正在使用mt_rand在每次加载页面时显示指定文件夹中的随机文件 在做了大量搜索之后,我想我需要创建一个数组,然后洗牌该数组,但不知道如何进行 我发现的大多数示例都使用数组,然后在我试图包含结果的地方回显结果php包含随机文件,页面加载时不重复,php,random,include,glob,Php,Random,Include,Glob,我目前正在使用mt_rand在每次加载页面时显示指定文件夹中的随机文件 在做了大量搜索之后,我想我需要创建一个数组,然后洗牌该数组,但不知道如何进行 我发现的大多数示例都使用数组,然后在我试图包含结果的地方回显结果 <?php $fict = glob("spelling/*.php"); $fictional = $fict[mt_rand(0, count($fict) -1)]; include ($fictional); ?> 您可以使用会话cookie来保存随机的、不重复
<?php
$fict = glob("spelling/*.php");
$fictional = $fict[mt_rand(0, count($fict) -1)];
include ($fictional);
?>
您可以使用会话cookie来保存随机的、不重复的文件列表。实际上,为了安全起见,会话cookie应该只将索引列表存储到文件数组中 例如,假设数组中有以下文件列表:
index file
----------------------------
0 spelling/file1.txt
1 spelling/file2.txt
2 spelling/file3.txt
3 spelling/file4.txt
我们可以创建一个索引数组,例如array(0,1,2,3)
,将它们洗牌以获得类似array(3,2,0,1)
,并将该列表存储在cookie中。然后,当我们通过这个随机索引列表时,我们得到了序列:
spelling/file4.txt
spelling/file3.txt
spelling/file1.txt
spelling/file2.txt
cookie还将当前位置存储在此索引列表中,当它到达末尾时,我们将重新洗牌并重新开始
我意识到所有这些听起来可能有点混乱,所以这个华丽的图表可能会有所帮助:
…或者一些代码:
您的代码片段应该可以完美地工作吗?我不明白你的问题?可能重复抱歉,我只在标题中写了这个,php包含随机文件,页面加载时没有重复。当前,它有时会重复相同的文件。然后,您应该将$FRIVATAL存储在_会话中,并在存在时使用它,如果不使用OPU中的代码,则错误表明$FRIVATAL[$index]
是空字符串,可能与glob
有关。注释掉include行并添加var\u dump($virtualal)代码>。其中一个条目可能为空。还要记住,代码片段不是为了复制/粘贴,而是为了让您朝着正确的方向前进。它不一定普遍适用。