logo-dw

Go Back   Dreamweaver Club Forums > Hand Coders Forum > PHP
Register FAQ Members List Search Today's Posts Mark Forums Read

Reply
 
Thread Tools Display Modes
Old 02-07-2008, 06:26 PM   #1
kristy1129
 
Join Date: Feb 2008
Posts: 6
Default Dynamic Image Rotator

I've gotten this script to work. Basically all I have to do is put this script in the folder with all the pictures I want to use and link to that as an image and the picture will rotate every time you refresh the page.
I have a link here with it working. http://daisyphotography.com/picturerotate.php
however, I want to know if I can add something to make it automatically change every 7 seconds or so instead of the image just changing when you refresh the page.
Thanks!
Kristy

PHP Code:
<?php
 
/*
 
AUTOMATIC IMAGE ROTATOR
Version 2.2 - December 4, 2003
Copyright (c) 2002-2003 Dan P. Benjamin, Automatic, Ltd.
All Rights Reserved.
 
http://www.hiveware.com/imagerotator.php
 
http://www.automaticlabs.com/
 
 
DISCLAIMER
Automatic, Ltd. makes no representations or warranties about
the suitability of the software, either express or
implied, including but not limited to the implied
warranties of merchantability, fitness for a particular
purpose, or non-infringement. Dan P. Benjamin and Automatic, Ltd.
shall not be liable for any damages suffered by licensee
as a result of using, modifying or distributing this
software or its derivatives.
 
 
ABOUT
This PHP script will randomly select an image file from a
folder of images on your webserver. You can then link to it
as you would any standard image file and you'll see a random
image each time you reload.
 
When you want to add or remove images from the rotation-pool,
just add or remove them from the image rotation folder.
 
 
VERSION CHANGES
Version 1.0
- Release version
 
Version 1.5
- Tweaked a few boring bugs
 
Version 2.0
- Complete rewrite from the ground-up
- Made it clearer where to make modifications
- Made it easier to specify/change the rotation-folder
- Made it easier to specify/change supported image types
- Wrote better instructions and info (you're them reading now)
- Significant speed improvements
- More error checking
- Cleaner code (albeit more PHP-specific)
- Better/faster random number generation and file-type parsing
- Added a feature where the image to display can be specified
- Added a cool feature where, if an error occurs (such as no
images being found in the specified folder) *and* you're
lucky enough to have the GD libraries compiled into PHP on
your webserver, we generate a replacement "error image" on
the fly.
 
Version 2.1
- Updated a potential security flaw when value-matching
filenames
 
Version 2.2
- Updated a few more potential security issues
- Optimized the code a bit.
- Expanded the doc for adding new mime/image types.
 
Thanks to faithful ALA reader Justin Greer for
lots of good tips and solid code contribution!
 
 
INSTRUCTIONS
1. Modify the $folder setting in the configuration section below.
2. Add image types if needed (most users can ignore that part).
3. Upload this file (rotate.php) to your webserver. I recommend
uploading it to the same folder as your images.
4. Link to the file as you would any normal image file, like this:
 
<img src="http://example.com/rotate.php">
 
5. You can also specify the image to display like this:
 
<img src="http://example.com/rotate.php?img=gorilla.jpg">
 
This would specify that an image named "gorilla.jpg" located
in the image-rotation folder should be displayed.
 
That's it, you're done.
 
*/
 
 
 
 
/* ------------------------- CONFIGURATION -----------------------
 
 
Set $folder to the full path to the location of your images.
For example: $folder = '/user/me/example.com/images/';
If the rotate.php file will be in the same folder as your
images then you should leave it set to $folder = '.';
 
*/
 
 
$folder '.';
 
 
/* 
 
Most users can safely ignore this part. If you're a programmer,
keep reading, if not, you're done. Go get some coffee.
 
If you'd like to enable additional image types other than
gif, jpg, and png, add a duplicate line to the section below
for the new image type.
 
Add the new file-type, single-quoted, inside brackets.
 
Add the mime-type to be sent to the browser, also single-quoted,
after the equal sign.
 
For example:
 
PDF Files:
 
$extList['pdf'] = 'application/pdf';
 
CSS Files:
 
$extList['css'] = 'text/css';
 
You can even serve up random HTML files:
 
$extList['html'] = 'text/html';
$extList['htm'] = 'text/html';
 
Just be sure your mime-type definition is correct!
 
*/
 
$extList = array();
$extList['gif'] = 'image/gif';
$extList['jpg'] = 'image/jpeg';
$extList['jpeg'] = 'image/jpeg';
$extList['png'] = 'image/png';
 
 
// You don't need to edit anything after this point.
 
 
// --------------------- END CONFIGURATION -----------------------
 
$img null;
 
if (
substr($folder,-1) != '/') {
$folder $folder.'/';
}
 
if (isset(
$_GET['img'])) {
$imageInfo pathinfo($_GET['img']);
if (
isset( 
$extListstrtolower$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( 
$extListstrtolower$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 (100100)
or die (
"Cannot initialize new GD image stream");
$background_color imagecolorallocate ($im255255255);
$text_color imagecolorallocate ($im0,0,0);
imagestring ($im255"IMAGE ERROR"$text_color);
imagepng ($im);
imagedestroy($im);
}
}
 
?>
kristy1129 is offline   Reply With Quote
Old 02-07-2008, 06:55 PM   #2
domedia
Administrator
domedia's Avatar
 
Join Date: Dec 2003
Posts: 9,730
Default

No you would have to find a different script for that. This one is for selecting a random image every time the page loads. Have a look at dynamicdrive.com, I remember seeing some image slideshows over there.
domedia is offline   Reply With Quote
Old 02-07-2008, 07:03 PM   #3
kristy1129
 
Join Date: Feb 2008
Posts: 6
Default

I had found this one http://www.dynamicdrive.com/dynamicindex14/image4.htm
but I want it to pull pictures from a folder and not have to hard code it to be a specific image, can this work that way?
kristy1129 is offline   Reply With Quote
Old 03-02-2008, 05:35 PM   #4
domedia
Administrator
domedia's Avatar
 
Join Date: Dec 2003
Posts: 9,730
Default

Only if you're able to modify it.
You either have to settle with a canned script, or make your own.
domedia is offline   Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:10 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Copyright 2006 DreamweaverClub.com