WEB PHP rotating image script?

Discussion in 'OT Technology' started by dmora, Apr 8, 2008.

  1. dmora

    dmora Guest

    I'm having trouble getting this to work.

    here's the link to the PHP file.
    Code:
    <img src="http://www.dmora.com/hhsd_banner_imgs/rotate.php" />
    Following these instructions:
    http://www.alistapart.com/articles/randomizer/

    Its not working. :wtc:
     
  2. Necromancer

    Necromancer Guest

    Unable to connect













    Firefox can't establish a connection to the server at www.dmora.com.








    * The site could be temporarily unavailable or too busy. Try again in a few
    moments.

    * If you are unable to load any pages, check your computer's network
    connection.

    * If your computer or network is protected by a firewall or proxy, make sure
    that Firefox is permitted to access the Web.
     
  3. Necromancer

    Necromancer Guest

    And yes, I'm connected to the webz.
     
  4. Browning

    Browning Active Member

    Joined:
    Feb 14, 2005
    Messages:
    89,465
    Likes Received:
    10
    there was a very nice one posted a while back. Image switch was nice and smooth

    I don't know who posted it but it was :bowdown:
     
  5. Limp_Brisket

    Limp_Brisket New Member

    Joined:
    Jan 2, 2006
    Messages:
    48,422
    Likes Received:
    0
    Location:
    Utah
    i've always been curious how to display an image with php. i'm sure it's not too difficult and will try it out someday.
     
  6. Jesse

    Jesse PSN: iamajesse; XBL: Inhale My Rod; G8 GT crew; Ne OT Supporter

    Joined:
    Jan 12, 2005
    Messages:
    25,649
    Likes Received:
    0
    Location:
    California :: (925)
    <?php echo("<img src='image.jpg'>");?>

    PM for paypal info.
     
  7. dmora

    dmora Guest

    Yea it was fucked up earlier. :hsd: should be working now.
     
  8. dmora

    dmora Guest

    i should have clarified that the server cannot handle PHP so i have to link it off site to another server.
     
  9. dmora

    dmora Guest

  10. dmora

    dmora Guest

    I get the Red X of failboat.
     
  11. dmora

    dmora Guest

    my niggaz... halp ? :x:
     
  12. 2ofdem

    2ofdem OT Supporter

    Joined:
    Jun 17, 2003
    Messages:
    114,853
    Likes Received:
    8
    Location:
    aus.vic.mel
    search I wrote a simple one a while back.
     
  13. Jesse

    Jesse PSN: iamajesse; XBL: Inhale My Rod; G8 GT crew; Ne OT Supporter

    Joined:
    Jan 12, 2005
    Messages:
    25,649
    Likes Received:
    0
    Location:
    California :: (925)
    Sounds like you need a new host.
     
  14. Limp_Brisket

    Limp_Brisket New Member

    Joined:
    Jan 2, 2006
    Messages:
    48,422
    Likes Received:
    0
    Location:
    Utah
  15. dmora

    dmora Guest

    Oh believe me i wish... It not happening, its a government agency. my personal host can do it tho.
     
  16. m3s3lf

    m3s3lf *Jeep Crew*

    Joined:
    Oct 4, 2001
    Messages:
    5,460
    Likes Received:
    0
    Location:
    Sacramento, CA
    The following works for me:
    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 = '/home/blah/public_html/uploads/';
    
    
    /*	
    
    	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( $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);
    	}
    }
    
    ?>
    
    Just call it like this:
    Code:
    <img src="http://www.yoursite.com/path/to/random.php">
    
     
  17. LOLZILLA

    LOLZILLA New Member

    Joined:
    Jul 11, 2004
    Messages:
    97,923
    Likes Received:
    0
    Yeah, that's a good one.
     
  18. Slid.

    Slid. I'm a guy.

    Joined:
    Oct 25, 2001
    Messages:
    1,928
    Likes Received:
    0
    Location:
    NH
    Looks like the pathing is incorrect.

    Wherever http://www.dmora.com/hhsd_banner_imgs/rotate.php is
    modify the opendir(/www/dmora.com/hhsd_banner_imgs/) line
    to have /home/dmoracom/public_html/hhsd_banner_imgs/
    instead of /www/dmora.com/hhsd_banner_imgs/.

    You could also try:

    opendir(getcwd());
     
  19. dmora

    dmora Guest

    :bowdown: :love: testing it now.
     
  20. dmora

    dmora Guest

    IT WORKS! :run: :love:
     
  21. Necromancer

    Necromancer Guest

    I was hoping this was one of those automatic rotating scripts. :o
     
  22. retorq

    retorq What up bitch??

    Joined:
    Dec 14, 2006
    Messages:
    6,061
    Likes Received:
    0
    Location:
    Mohave Desert
    That is what the title would lead one to believe.
     
  23. axio

    axio New Member

    Joined:
    May 8, 2004
    Messages:
    4,001
    Likes Received:
    0
    Location:
    Houston
    This has always worked fine for me:
    Code:
    <?php
    $howMany = 2;
    
    srand ((double) microtime() * 948625);
    $randNumber = rand(1,$howMany);
    
    switch($randNumber)
    {
     Case 1:
    header("Location: circle/batman1.jpg");
    break;
    
     Case 2:
    header("Location: circle/nightwing1.jpg");
    break;
    
    }
    ?>
    Replace how many with how many images you will be rotating and then add in another case to match.
     

Share This Page