function generateThumb($imgDir, $picName, $extension, $thumbtext) { require_once '../thumb/phpthumb.class.php'; require '../variables.php'; $thumbNames = array(); $imgUrl = $imgDir . $picName . "." . $extension; $thumbDir = "thumbnails/"; // echo "<p>$imgUrl</p>"; // create 3 sizes of thumbnail $thumbnail_widths = getThumbnailWidths(); foreach ($thumbnail_widths as $thumbnail_width) { // Note: If you want to loop through and create multiple // thumbnails from different image sources, you should // create and dispose an instance of phpThumb() each time // through the loop and not reuse the object. $phpThumb = new phpThumb(); // set data $phpThumb->setSourceFilename($imgUrl); // or $phpThumb->setSourceData($binary_image_data); // or $phpThumb->setSourceImageResource($gd_image_resource); // $gd_img = imagecreatefrom($imgPath.$picturename); // $phpThumb->setSourceImageResource($gd_img); // set parameters (see "URL Parameters" in phpthumb.readme.txt) $phpThumb->setParameter('w', $thumbnail_width); //$phpThumb->setParameter('h', 100); $fParam = 'wmt|Click to open (^Xx^Y)|1|B|FFFFFF||100|0||000000|100|x'; if (!empty($thumbtext)) { $fParamTop = 'wmt| ' . $thumbtext . ' |2|T|000000||100|0||CCCCCC|100|x'; $phpThumb->setParameter('fltr', $fParamTop); } $phpThumb->setParameter('fltr', $fParam); $phpThumb->setParameter('fltr', 'bord|1'); // set options (see phpThumb.config.php) // here you must preface each option with "config_" $phpThumb->setParameter('config_output_format', 'png'); // $phpThumb->setParameter('config_imagemagick_path', '/usr/local/bin/convert'); // $phpThumb->setParameter('config_imagemagick_path', '.'); //$phpThumb->setParameter('config_allow_src_above_docroot', true); // needed if you're working outside DOCUMENT_ROOT, in a temp dir for example // generate & output thumbnail $output_filename = $imgDir . $thumbDir . $picName . '_' . $thumbnail_width . '.' . $phpThumb->config_output_format; if ($phpThumb->GenerateThumbnail()) { // this line is VERY important, do not remove it! if ($output_filename) { if ($capture_raw_data && $phpThumb->RenderOutput()) { // RenderOutput renders the thumbnail data to $phpThumb->outputImageData, not to a file or the browser // mysql_query("INSERT INTO `table` (`thumbnail`) VALUES ('".mysql_escape_string($phpThumb->outputImageData)."') WHERE (`id` = '".$id."'"); } elseif ($phpThumb->RenderToFile($output_filename)) { $thumbNames[] = array($thumbnail_width, $output_filename); } else { // do something with debug/error messages // echo 'Failed (size=' . $thumbnail_width . '):<pre>' . implode("\n\n", $phpThumb->debugmessages) . '</pre>'; } } else { $phpThumb->OutputThumbnail(); } } else { // do something with debug/error messages //echo '<p>Thumbnail generation failed (size='.$thumbnail_width.').</p>'; //echo '<div style="background-color:#FFEEDD; font-weight: bold; padding: 10px;">'.$phpThumb->fatalerror.'</div>'; //echo '<form><textarea rows="10" cols="60" wrap="off">'.htmlentities(implode("\n* ", $phpThumb->debugmessages)).'</textarea></form><hr>'; } // remember to unset the object each time through the loop unset($phpThumb); } return $thumbNames; }
$lastModified, $filename, $fileThumbnails ); } else { $fullList[] = array ( $lastModified, $filename, null ); } } arsort($fullList); $thumbWidths = getThumbnailWidths(); if (empty ($fullList)) { echo "<p>No files found for <b>" . $name . "</b>.</p>"; echo "<p>If you think this is an error, please post in the forum.</p>" . $back; } else { foreach ($fullList as $fileArray) { $lastModified = $fileArray[0]; $filename = $fileArray[1]; $thumbsArray = $fileArray[2]; $boxTitle = $filename . " <span style='font-weight:normal;font-size:10px;'>(" . formatLongDate($lastModified) . ")"; ?> <?= getBoxTop($boxTitle, 30, false, null) ?> <table class="layouttable" style="width:100%"> <tr> <? if (!empty($thumbsArray)){ ?> <td style="width:250px;vertical-align:top;">