• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 224
  • Last Modified:

How do i show a random image in a php script called from another php script

Hello.  Okay, I'm setting up a small program to display images at random and i want to give people some simple image code to display in their site that uses something like <img src="http://www.mysite.com/myscript.php">  //this calls the server script (myscript.php) that should actually echo out the appropriate image.

 i will only be storing the URL'S to the images in a database and not the raw image data itself.  so basically the server script will produce something like http://www.somesite.com/images/image1.jpg    ..or gif of course...  i intend the server script to randomly choose a url based on some other criteria but what code do i need to use in the server script "myscript.php" to properly display the image in the clients page??

Thanks!
0
linuxrox
Asked:
linuxrox
1 Solution
 
nizsmoDeveloperCommented:
This should work, you have to change the url to your myscript.php which generates an image.
<?php
function scaleAxis($a, $b){
      //calculate the image axis while maintaining proportion
      return $b / (($a + 1) / $a);
}
 
function scaleImage($width, $height, $maxBoundW, $maxBoundH){
      //tests height vs width and scales the image based on the larger axis
      if ($height > $width){
 
            while ($width + 1 > $maxBoundW) {
                $height -= 1;        
                $width = scaleAxis($height, $width);
            }
           
            while ($height + 1 > $maxBoundH) {
                $height -= 1;        
                $width = scaleAxis($height, $width);
            }
           
      }elseif($width > $height){
             
                  while ($width + 1 > $maxBoundW) {
                      $width -= 1;        
                      $height = scaleAxis($width, $height);
                  }
                 
                  while ($height + 1 > $maxBoundH) {
                      $width -= 1;        
                      $height = scaleAxis($width, $height);
                  }
                 
      }else{
                  while ($width + 1 > $maxBoundW) {
                      $height -= 1;        
                      $width = scaleAxis($height, $width);
                  }
                 
                  while ($height + 1 > $maxBoundH) {
                      $height -= 1;        
                      $width = scaleAxis($height, $width);
                  }
      }
     
      $imageXy['x'] = $width;
      $imageXy['y'] = $height;
     
      return $imageXy;
}
 
// Grab the file from the database or from the directory, then set it as variables
// ; $filetype, $result (which is the file itself)
 
$path = "http://mfr.nizsmo.com/images/logo.jpg"; // YOUR ECHO IMAGE PHP URL HERE!!!
$dimensionX = 96; // adjust dimension as you see fit
$dimensionY = 64;
 
$result = file_get_contents($path);
 
 
      //set the output type
      header("Content-type: Image/Jpeg");
     
      // resize image
      $im = imagecreatefromstring($result);
     
     
      $imageXy = "";
     
      $imageXy = scaleImage(imagesx($im), imagesy($im), $dimensionX,  $dimensionY);  // SPECIFY THUMBNAIL SIZE
     
     
      $imgw = $imageXy['x'];
      $imgh = $imageXy['y'];
     
      // create thumbnail
      $thumb=ImageCreateTrueColor($imgw,$imgh);
      ImageCopyResampled($thumb,$im,0,0,0,0,$imgw,$imgh,ImageSX($im),ImageSY($im));
     
      //display output
      $out = ImagejpeG($thumb);
      print($out);
     
      // clean memory
      imagedestroy ($im);
      imagedestroy ($thumb);
 
 
 
$db->sql_close();
unset($db);
 
 
?>

Open in new window

0
 
linuxroxAuthor Commented:
thanks!!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: C++ 11 Fundamentals

This course will introduce you to C++ 11 and teach you about syntax fundamentals.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now