Jump to content

PHP Image rotation

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
4 replies to this topic

#1
Guest_ShortCircuit_*

Guest_ShortCircuit_*
  • Guests
My client wants some images on their site that rotate, to keep the site looking fresh.
I was going to use javascript but I dont like it and want to use PHP but unsure where to really start with a script like this.

Is it simple to build?

#2
John

John

    Writes binary right handed and hex left handed

  • Moderators
  • 6,321 posts
here is a script that i made as a sig rotator...it does exactly what you want done.

Notes:
1) Make sure you change the image directory in the script.
2) Make sure you use the php script as the image... <img src="banner_rotator.php"></img>
3) i havnt used it in a while, so im not sure if this is even the right script, but give it a try and see if it works.

<?php


$folder = './';


$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'] ) ] ) &&

       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) > 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);

   }

}


?>


#3
Guest_ShortCircuit_*

Guest_ShortCircuit_*
  • Guests
Thanks, I take it this script will pull all images from a directory rather than me having to go in and manually type in each file name?

#4
John

John

    Writes binary right handed and hex left handed

  • Moderators
  • 6,321 posts
yes

#5
Lop

Lop

    Speaks fluent binary

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,172 posts
Nice script. I may use this once I develop one for one of my websites.