Search code examples
phprandominclude-path

Include php file randomly


I have a question about php include. Here goes the existing code that i have.

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

This code actually works very well for me now as the content displaying randomly. But, i would like to get something better. Because, by using this code, everytime i have added a new content like content5.php, content6.php and so on, i have to bother to update the code above to make new content.php appear.

Is there any solution i can have, to not to bother the code above everytime i add a new content.php and the new content.php appears automatically when added? Is it possible?

Updated: New testing code(tested failed again with part of my page mising)

    <?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 ] );
?>

Solution

  • $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 ] );