Help with rando picture script please

Soldato
Joined
25 Oct 2002
Posts
4,198
Location
Derbyshire
Help with random picture script please

I've found a script to change a picture to any from a set folder.

http://ccgi.theblue.plus.com/cpg1414/albums/wpw-20080101/random.php

What i'd like it to do is pick only large pictures. The album software i've used creates files such as:-

thumb_Mull_May_07_144.jpg
normal_Mull_May_07_144.jpg
and the origional file:-
Mull_May_07_144.jpg

Can the script be changed to ignore 'thumb_' & and 'normal_'


Code:
<?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!
?>
 
Last edited:
Code:
<?php
$files = glob('{*.PNG,*.png,*.JPG,*.jpg,*.GIF,*.gif}', GLOB_BRACE);

do {
    $file = $files[array_rand($files)];
} while ( preg_match('#(_thumb|_normal)#i', $file) > 0 );

readfile($file);
?>
 
Code:
<?php
$files = glob('{*.PNG,*.png,*.JPG,*.jpg,*.GIF,*.gif}', GLOB_BRACE);

do {
    $file = $files[array_rand($files)];
} while ( preg_match('#(_thumb|_normal)#i', $file) > 0 );

readfile($file);
?>

Code:
<?php
$files = glob('{*.PNG,*.png,*.JPG,*.jpg,*.GIF,*.gif}', GLOB_BRACE);

do {
    $file = $files[array_rand($files)];
} while ( preg_match('#[COLOR="Yellow"]^(thumb_|normal_)[/COLOR]#i', $file) > 0 );

[COLOR="Yellow"]header('Content-type: ' . mime_content_type($file) . "\r\n");[/COLOR]
readfile($file);
?>

?
 
Last edited:
Code:
<?php
$files = glob('{*.PNG,*.png,*.JPG,*.jpg,*.GIF,*.gif}', GLOB_BRACE);

do {
    $file = $files[array_rand($files)];
} while ( preg_match('#[COLOR="Yellow"]^(thumb_|normal_)[/COLOR]#i', $file) > 0 );

[COLOR="Yellow"]header('Content-type: ' . mime_content_type($file) . "\r\n");[/COLOR]
readfile($file);
?>

?

pedantry and nitpicking of the highest and most annoying order
 
Ok, I've got it to work.

Can i add this to a html page so it shows the pic in the middle?

Can someone post an example I can mod :)


Thanks in advance!
 
You can use the PHP script in place of an image, just right click my sig and you'll see it refers to a PHP file and not an image directly. For Example:

Code:
[b][i]...[/i][/b]

<img src="./random.php" alt="" />

[b][i]...[/i][/b]
 
Back
Top Bottom