Skip to main content

How to Rotate Your Web Page Background at Radom

How to Rotate Your Web Page Background at Random

Problem: I want my web page background image to change every time the page is loaded by picking an image at random.

The images in this solution are all prepared in advance. They are all named live#.jpg where "#" is a number between 1 and whatever the number of images you have.  Hence they are named:

  • live1.jpg
  • live2.jpg
  • live3.jpg
  • ........
The naming system simplifies the script that will be used to load the images.

The approach adopted is a three-step algorithm:
  1. Create an array of the file names for these image files in a certain folder. In my case, the folder is called "slides".
  2. Count the number of files. There are possibilities of counting sub-directories and . and .. if not careful. In this solution, we ensure no subdirectories are in the target folder and do a little arithmetic to eliminate the .. and .. folders.
  3. Generate a random number based on the number of files in the target folder and append this number to the base name of the image files then use this name in the CSS background property.

PHP Script Example

$path = "slides/"; //the relative oo absolute path to the image files
$files = scandir($path); //get list of files in the target folder
$size = count($files); //count the number of files (including . and ..)
$number=rand(1,$size); //generate a random number between 1 and $size

Generate Image File Name 

echo("background-image: url(slides/live");

This could be shortened to:
echo("background-image: url(slides/live".$number.".jpg);");

Background Tricks

"background-size: cover;" forces the image to cover the entire element. See demo . 
Some older browsers may not implement it properly. See this discussion.

The final page looks like this (minus other CSS and HTML code):

<!DOCTYPE html><html><head><title>Background Image Rotator</title><style type="text/css">

 html { <?php $path = "slides/"; $files = scandir($path); $size = count($files); $number=rand(1,$size); /* echo("background-image: url(slides/live"); echo($number); echo(".jpg);"); */ echo("background-image: url(slides/live".$number.".jpg);");
-webkit-background-size: cover; /* for older browsers using webkit engine */ -moz-background-size: cover; /* for older Mozilla Firefox */ -o-background-size: cover; /* for older Opera browser */ background-size: cover; /* for all modern browsers */ /* add your CSS ... */


<!-- add your web page content here ... -->



To save time processing files, there are ways to rename files. The easiest is to highlight all files in a folder with Ctrl + A then type the base name and press ENTER. Windows will rename the files using the base name (such "Word Doc 2016_31_10") and a number as follows:

Original List


See this site for a more detailed description.

You can remove the parentheses using the following two Powershell commands:

dir | rename-item -NewName {$ -replace "\(",""}
dir | rename-item -NewName {$ -replace "\)",""}

To launch Powershell, browse to the target directory then open the File menu as follows:

As you fire away at your keyboard, remember the Messiah is coming and prepare. I guarantee it.

Be blessed today.


Popular posts from this blog

How to Install RIOT Plugin for GIMP

How to Install RIOT Plugin for GIMP:: Since this article was first written a stand-alone version of RIOT has been made available Download the plugin from the download link titled "RIOT as plug-in for other applications"   Launch the Riot-plugin.exe file by double clicking.The installer installs all the files including Riot.exe, Riot.dll, and FreeImage.dll in the location where you installed GIMP  If GIMP is open, close it and re-launch it.To optimise an image, open it then save with menu File-&gt;Save for web with RIOT  You can set the target file size by selecting "Compress to size" button  on bottom right corner of optimised image pane and providing the size in kilobytes. Alternatively you can use a slider provided to allow you to change the quality while showing you a preview of the resulting image.


Acer Aspire V5-471 Solution to "Operating System Not Found" After Changing From UEFI to BIOS

If you deliberately or accidentally change an Acer Aspire V5-471 (probably other Acers as well) boot setting from UEFI to BIOS, then you may be in for a shock when you try to start the laptop.

You may get the message Operating System Not Found on the top left corner of your screen or something similar.

Ideally you can press F2 during booting and get into booting settings and change them but in my case F2 does not work! Nothing works - neither a bootable DVD, bootable USB drive or whatever else you throw at it to try to get the machine to wake from coma.

You could spend a year searching various forums. You will learn very little. Some will call you dumb for messing up your BIOS settings.

The answer came from a very smart guy from Nakuru, Kenya called Weru (it means Savannah as in Savannah Institute for Business and Informatics). Open the machine's casing. Pull out the motherboard. Remove the BIOS button battery.

In the laptop motherboard above, the battery in the round whitish obj…

How to Stream Live With Your Smartphone

Using Larix Broadcaster , you can stream live video and audio from a smartphone running Android, IOS or Windows. The steps are:
Download and install Larix from the link above.Configure LarixTest with the streaming server provided by whomever is hosting your live streamWhen requested, start sending your stream.
Before giving details explanations of how to configure Larix, its important to note one of two things about the stream:
Many people may be watching worldwide and its important to test and then, during the live stream, ensure only acceptable video and audio are sent to the server. The Larix website illustrates the connection between your phone, server and the viewer devices. Clear video requires planning your shot - from which direction? is the lighting good? will bright lights interfere? Is there traffic noise or other interference.Maintain your smartphone in  landscape orientationIf more than one person are to stream to the same server, be on standby and start your stream promptly…