dongzuan4860 2013-09-26 16:22
浏览 43
已采纳

使用PHP加载多个随机.html文件[关闭]

I have 6 html files (test1.html, test2.html, test3.html and so on) and I want 3 of them to be randomly displayed with no duplicates. Then each time the web page is loaded a different order and file will be used.

Say: test1.html, test4.html, test2.html

Or: test5.html, test2.html, test3.html

Or: test3.html, test6.html, test2.html

etc.... with no duplicates

I have got this php code from a previous question which is a good start. It only includes 1 html file where I need 3?

<?php
$files = glob('*.html');
$random_file = $files[array_rand($files)];
include($random_file);
?>

Load in random .html file with PHP?

Any help is much appreciated, thanks.

  • 写回答

1条回答 默认 最新

  • douqi3195 2013-09-26 16:27
    关注

    Based on your example above.

    $i = 0;
    while($i < 3) {
    
        $randInt = rand(1, 6);
        if(isset($used)) {
            while($a < 1) {
                if(array_search($randInt, $used)) {
                    $a++;
                } else {
                    $randInt = rand(1, 6);
                    continue;
                }
            }
        }
        include_once("path/to/test$randInt.html");
        $used[] = $randInt;
    $i++;
    }
    

    Based on AD7six's idea, this is much more succinct and also allows the use of non-numerical file names:

    $files = array(
        1=>'file_foo.html',
        2=>'file2_bar.html',
        3=>'file3_make.html',
        4=>'file4_it.html',
        5=>'file5_more.html',
        6=>'file6_succinct.html');
    
    shuffle($files);
    
    for($i=0;$i<3;$i++) {
        include_once("path/to/$files[$i]");
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路