I have this code which display random images from any folder on a webserver. You just have to give each picture the same name but with a number at the end of it (make foo.bar foo1.bar footype.bar foo2.bar).

Does anybody have any idea how to make this work accept not have any numbers or have the same name on the pictues. I just want it to display any picture in that folder in the webserver regardless of the name. Here is the code.

<?php
function image()
{
	$min = 1; //The first number one of your images has
	$max = 3; //The highest number you image has
	$number = rand($min, $max);
	$url = "http://website.com/~ub/_ubr/wp-content/themes/ubcmi/images/icons/image" . $number . ".jpg"; //change the url to your url //for the image split the url into two parts by separating in between the image name and //extension
	echo "<img src='$url'>";
}
 ?>

Recommended Answers

All 7 Replies

ok, I suggest doing something like this:

<?php
function image()
{
	$min = 1; //The first number one of your images has
	$max = 3; //The highest number you image has
	$number = rand($min, $max);
	$url = "http://website.com/~ub/_ubr/wp-content/themes/ubcmi/images/icons/" . $number . ".jpg"; //change the url to your url //for the image split the url into two parts by separating in between the image name and //extension
	echo "<img src='$url'>";
}
 ?>

This means that all is needed is just a number for your images rather then having to name them all.

what if the images don't have a number?

well the whole idea of the script that you have is that it generates the random image through a random number generator in php based on the numbers used to name your images. Therefore using your script you must have numbered images. This is pretty much the easiest way in generating your random images.
If you do not understand the script you are using i suggest going to www.tizag.com and reading up on some php.

You could also just store the image names in an array and refer to the array with the number. An example is the following.

<?php
function image()
    {
    $min = 1; //The first number one of your images has
    $max = 3; //The highest number you image has
    $num = rand($min, $max);
    //set picture names
    $pic[1]='firstpic.jpg';
    $pic[2]='secondpic.jpg';
    $pic[3]='another_name.jpg';
    //end of setting picture names
  $url = "http://website.com/~ub/_ubr/wp-content/themes/ubcmi/images/icons/" .$pic[$num]."; //change the url to your url //for the image split the url into two parts by separating in between the image name and //extension
	echo "<img src='$url'>";
}
 ?>

Very basic and hope it does the job.

arrays is a good idea, but then requires alot of manuel work, of constantly updating the code when there is a new image. Unless you do it atuomaticaly but your script does not support that.

arrays is a good idea, but then requires alot of manuel work, of constantly updating the code when there is a new image. Unless you do it atuomaticaly but your script does not support that.

What I posted was just what the user wanted. However, there are 2 alternative options. There is the option of php automatically detecting the pictures in the folder and assign them to an array (requires a bit of cpu) or another option is to fetch the arrays from a mysql database.

Thank you for you input cwarn23. That solution did work for me. And Im doing something in Javascript which is very similar excepts it fades through images, and I think I am going to use the same concept. Thanks again.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.