随机包含php文件

时间:2015-03-21 04:45:30

标签: php random include-path

我有关于php include的问题。这是现有的代码。

<?php
srand();
$files = array("folder/content1.php", "folder/content2.php", "folder/content3.php", "folder/content4.php");
$rand = array_rand($files);
include ($files[$rand]);
?>

此代码实际上对我来说非常有效,因为内容随机显示。但是,我希望得到更好的东西。因为,通过使用此代码,每次我添加了content5.phpcontent6.php等新内容时,我都需要更新上面的代码以显示新的content.php

我可以拥有任何解决方案,每次添加新的content.php时都不会打扰上面的代码,添加时会自动显示新的content.php吗?有可能吗?

更新:新的测试代码(测试失败,我的部分页面正在消失)

    <?php
$sDirectory     = 'myfolder';
if( is_dir( $sDirectory ) ) 
{
    $rDir = opendir( $sDirectory );
    while( ( $sFile = readdir( $rDir ) ) !== FALSE ) 
    {
        if( ( $sFile == '.' ) || ( $sFile === '..' ) )
        {
            continue;
        }
        $aFiles[] = $sDirectory . '/' . $sFile;
    }
}
$sRandom = array_rand( $aFiles );
require_once( $aFiles[ $sRandom ] );
?>

1 个答案:

答案 0 :(得分:1)

$sDirectory     = 'includes';
if( is_dir( $sDirectory ) ) 
{
    $rDir = opendir( $sDirectory );
    while( ( $sFile = readdir( $rDir ) ) !== FALSE ) 
    {
        if( ( $sFile == '.' ) || ( $sFile === '..' ) )
        {
            continue;
        }
        $aFiles[] = $sDirectory . '/' . $sFile;
    }
}
$sRandom = array_rand( $aFiles );
require_once( $aFiles[ $sRandom ] );