Random sidebar/widget background

Place the following code above the DOCTYPE in header.php:

<?php
  $bg = array('bg-01.jpg', 'bg-02.jpg', 'bg-03.jpg', 'bg-04.jpg', 'bg-05.jpg', 'bg-06.jpg', 'bg-07.jpg' ); // array of filenames

  $i = rand(0, count($bg)-1); // generate random number size of the array
  $selectedBg = "$bg[$i]"; // set variable equal to which random filename was chosen
?>

Now place this code within <head> in header.php

<style type="text/css">
body{
background: url(<?php echo bloginfo('stylesheet_directory');?>/images/<?php echo $selectedBg; ?>) no-repeat;
}
</style>

The path <?php echo bloginfo('stylesheet_directory');?>/images/indicates that your random images will be stored within your theme under the directory “/images”.

The original article on this technique can be found at CSS tricks.