Help - Search - Members - Calendar
Full Version: PHP script for random pics
MandrivaUsers.org > General Help > Tips and Tricks
javaguy
Greg2 requested this in another thread, so here's one way to make a script that displays a random picture. In this case I have installed the Coppermine photo gallery (a nifty little piece of PHP freeware), so the names of all the photo files are stored in a database table called cpg135_pictures. You don't have to have all that set up, though, just some kind of database from which you can select a random file name. In fact, you don't really even need a database--you could use the PHP directory functions to list all the files in the image directory and then pick one at random.

Anyway, here it is. Put the following text on your web server in a file called randompic.php or something like that, make sure it has execute permission and that your web server has PHP installed, and when you navigate to http://mydomain.com/randompic.php you'll get a random picture.

CODE
<?php
header("Content-type: image/png");


//Select random thumbnail file.
$link = mysql_connect('localhost', 'dbusername', 'myawesomepassword')
    or die('Could not connect: ' . mysql_error());
mysql_select_db('benjamin_album') or die('Could not select database');

// Performing SQL query
$query = "SELECT filepath, filename FROM cpg135_pictures ORDER BY rand() limit 1";

$result = mysql_query($query) or die('Query failed: ' . mysql_error());
$line = mysql_fetch_array($result, MYSQL_ASSOC);
$filepath = 'album/albums/' . $line['filepath'];
$filename = $line['filename'];
mysql_free_result($result);
mysql_close($link);

$thumbnail_img = imagecreatefromjpeg($filepath . '/' . $filename);

imagejpeg($thumbnail_img);

imagedestroy($thumbnail_img);

?>



[moved from Software by spinynorman]
Greg2
Thanks! I have a new toy to play with. biggrin.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.