• Notice regarding image hosts and attachments. See here.

Help with rando picture script please

Soldato
Joined
25 Oct 2002
Posts
4,199
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