WordPress.org

Forums

Random image taken from multiple specified directories (1 post)

  1. drStratuS
    Member
    Posted 8 years ago #

    Hello,

    this isn't about WordPress, it's just me asking for a little PHP coding help. I searched with Google a lot, but couldn't find an appropriate solution.

    I'd like to show a random image in my blog's sidebar and Photo Matt's Random Image Script looks great.

    - - - - - - - - - - -
    <?php
    /*
    By Matt Mullenweg > http://photomatt.net
    Inspired by Dan Benjamin > http://hiveware.com/imagerotator.php
    Latest version always at:
    http://photomatt.net/scripts/randomimage
    */

    // Make this the relative path to the images, like "../img" or "random/images/".
    // If the images are in the same directory, leave it blank.
    $folder = '';

    // Space seperated list of extensions, you probably won't have to change this.
    $exts = 'jpg jpeg png gif';

    $files = array(); $i = -1; // Initialize some variables
    if ('' == $folder) $folder = './';

    $handle = opendir($folder);
    $exts = explode(' ', $exts);
    while (false !== ($file = readdir($handle))) {
    foreach($exts as $ext) { // for each extension check the extension
    if (preg_match('/.'.$ext.'$/i', $file, $test)) { // faster than ereg, case insensitive
    $files[] = $file; // it's good
    ++$i;
    }
    }
    }
    closedir($handle); // We're not using it anymore
    mt_srand((double)microtime()*1000000); // seed for PHP < 4.2
    $rand = mt_rand(0, $i); // $i was incremented as we went along

    header('Location: '.$folder.$files[$rand]); // Voila!
    ?>

    - - - - - - - - - - -

    Does anybody have any idea, how could this code be modified in such a way, that it would enable me to specify multiple directiories from where to show the random image?

    I found all sorts of random image PHP scripts while googling, but they all allow me to specify only one directory, which for certain reasons isn't usable for me.

    I tried modifying the above mentioned script myself (I played with PHP's opendir() and readdir()), but with no success, since my PHP coding skills are pretty newbiesh.

    So if anyone has some spare time and is willing to help, I'd really appreciate it. Thank you very much. :)

    Kind regards,
    andper

Topic Closed

This topic has been closed to new replies.

About this Topic