Jump to content

Need Help on a php image gallery


1bigbear

Recommended Posts

I use the Micro Photo Gallery the script finds all .jpg files and creates thumbnails if there isn't one and links the thumbnail with the jpg file.

 

I will use this script on a site, and I don't want to upload the same gallery on the other site, I just want the script to read from the folder of my first site the files. The original script only reads from the folder that is in.

 

Here is the script:

<?php

/*************************************************

* Micro Photo Gallery

*

* Version: 1.0

* Date: 2007-04-05

*

* Usage:

* Just copy these files into your image folder

*

****************************************************/

 

$columns    = 5;

$thmb_width  = 120;

$thmb_height = 80;

 

function resizeImage($originalImage,$toWidth,$toHeight){

   

    // Get the original geometry and calculate scales

    list($width, $height) = getimagesize($originalImage);

    $xscale=$width/$toWidth;

    $yscale=$height/$toHeight;

   

    // Recalculate new size with default ratio

    if ($yscale>$xscale){

        $new_width = round($width * (1/$yscale));

        $new_height = round($height * (1/$yscale));

    }

    else {

        $new_width = round($width * (1/$xscale));

        $new_height = round($height * (1/$xscale));

    }

    // Resize the original image

    $imageResized = imagecreatetruecolor($new_width, $new_height);

    $imageTmp    = imagecreatefromjpeg ($originalImage);

    imagecopyresampled($imageResized, $imageTmp, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

 

    return $imageResized;

}

 

function generateThumbnails(){

global $thmb_width,$thmb_height;

 

// Open the actual directory

if ($handle = opendir(".")) {

// Read all file from the actual directory

while ($file = readdir($handle))  {

// Check whether tha actual item is a valid file

if (is_file($file)){

// Check whether the actual image is a thumbnail

      if (strpos($file,'_th.jpg')){

      $isThumb = true;

      } else {

      $isThumb = false;

      }

     

      if (!$isThumb) {

      // Process the file string

      $dirName  = substr($file,0,strpos($file,basename($file)));

      if (strlen($dirName) < 1) $dirName = '.';

      $fileName = basename($file);

      $fileMain = substr($fileName,0,strrpos($fileName,'.'));

      $extName  = substr($fileName,strrpos($fileName,'.'),

      strlen($fileName)-strrpos($fileName,'.'));

 

      // Check if the actual file is a jpeg image

      if (($extName == '.jpg') || ($extName == '.jpeg')){

    $thmbFile = $dirName.'/'.$fileMain.'_th.jpg';

    // If a thumbnail dosn't exists tahn create a new one

    if (!file_exists($thmbFile)){

    imagejpeg(resizeImage($file,$thmb_width,$thmb_height),$thmbFile,80);

    }

}

      }

  }

  }

}

 

}

 

function getNormalImage($file){

$base = substr($file,0,strrpos($file,'_th.jpg'));

if (file_exists($base.'.jpg')) return $base.'.jpg';

elseif (file_exists($base.'.jpeg')) return $base.'.jpeg';

else return "";

}

 

function displayPhotos(){

global $columns;

 

generateThumbnails();

$act = 0;

// Open the actual directory

if ($handle = opendir(".")) {

// Read all file from the actual directory

while ($file = readdir($handle))  {

// Check whether tha actual item is a valid file

if (is_file($file)){

// Check whether the actual image is a thumbnail

      if (strpos($file,'_th.jpg')){

++$act;

if ($act > $columns) {

echo '</tr><tr><td class="photo"><a href="'.getNormalImage($file).'"><img src="'.$file.'" alt="'.$file.'"/></a></td>';

$act = 1;

} else {

echo '<td class="photo"><a href="'.getNormalImage($file).'"><img src="'.$file.'" alt="'.$file.'"/></a></td>';

}

     

      }

      }

}

}

}

 

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">

<html>

<head>

  <title>Micro Photo Gallery</title>

  <link href="style/style.css" rel="stylesheet" type="text/css" />

</head>

<body>

  <div id="main">

    <div class="caption">Micro Photo Gallery</div>

      <table align="center"><tr>   

    <?php displayPhotos(); ?>

      </table>

   

<div id="source">Micro Photo Gallery 1.0</div>

  </div>

</body> 

 

 

 

Link to comment
https://forums.phpfreaks.com/topic/79230-need-help-on-a-php-image-gallery/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.