title: background image rotator.php + jquery to show random photo every 4 sec
body: <p>We all know the standard rotator php scripts that show a new photo each time the page is refreshed.</p>
  
  <p>I have searched everywhere and don't know if its possible. 
  I would like to set the background of a section like this: </p>
  
  <p>background-image: url(<a href="https://example.com/wp-content/uploads/homeslider/rotator.php" rel="nofollow">https://example.com/wp-content/uploads/homeslider/rotator.php</a>);</p>
  
  <p>Will it be possible to add some jQuery code in the php so that the background image refreshes every 4 sec?</p>
  
  <p>Adding a refresh in the php itself didnt work.</p>
  
  <pre><code>    &lt;?php
  $folder = '/home/example/public_html/wp-content/uploads/homeslider';
  
  $extList = array();
  $extList['gif'] = 'image/gif';
  $extList['jpg'] = 'image/jpeg';
  $extList['jpeg'] = 'image/jpeg';
  $extList['png'] = 'image/png';
  
  $img = null;
  
  if (substr($folder,-1) != '/') {
      $folder = $folder.'/';
  }
  
  if (isset($_GET['img'])) {
      $imageInfo = pathinfo($_GET['img']);
      if (
          isset( $extList[ strtolower( $imageInfo['extension'] ) ] ) &amp;&amp;
          file_exists( $folder.$imageInfo['basename'] )
      ) {
          $img = $folder.$imageInfo['basename'];
      }
  } else {
      $fileList = array();
      $handle = opendir($folder);
      while ( false !== ( $file = readdir($handle) ) ) {
          $file_info = pathinfo($file);
          if (
              isset( $extList[ strtolower( $file_info['extension'] ) ] )
          ) {
              $fileList[] = $file;
          }
      }
      closedir($handle);
  
      if (count($fileList) &gt; 0) {
          $imageNumber = time() % count($fileList);
          $img = $folder.$fileList[$imageNumber];
      }
  }
  
  if ($img!=null) {
      $imageInfo = pathinfo($img);
      $contentType = 'Content-type: '.$extList[ $imageInfo['extension'] ];
      header ($contentType);
      readfile($img);
  } else {
      if ( function_exists('imagecreate') ) {
          header ("Content-type: image/png");
          $im = @imagecreate (100, 100)
              or die ("Cannot initialize new GD image stream");
          $background_color = imagecolorallocate ($im, 255, 255, 255);
          $text_color = imagecolorallocate ($im, 0,0,0);
          imagestring ($im, 2, 5, 5,  "IMAGE ERROR", $text_color);
          imagepng ($im);
          imagedestroy($im);
      }
  }
  
  ?&gt;
  </code></pre>