Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>This code generates a thumbnails gallery with clickable thumbs. It creates semi-transparent png images. It has been the ONLY CODE THAT I HAVE FOUND THAT WORKS. Maybe of some use to anyone interested.</p> <pre><code>&lt;?php $ak = "&lt;!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\"&gt;"; $ak .= "&lt;html&gt;&lt;head&gt;"; $ak .= "&lt;/head&gt;"; echo $ak; $Gal = "GALLERY # 1"; //title $thumb = "thumbs"; //thumbs directory name $thumbwidth = 250; $imagequality = 100; $cols = 3; //number of columns $vi = "Click for a larger image."; $sname = "index.php"; //name of this file $isz = "Size"; //text for "Size" $msgcp = "Image"; //text for "Image" $msgof = "of"; //text for "of" if (isset($_GET['iid'])) { $_GET['iid']; } elseif (isset($_POST['iid'])) { $_POST['iid']; } $files = array(); if ($handle = opendir('.')) { while (false !== ($file = readdir($handle))) { if ($file != "." &amp;&amp; $file != "..") { $jpg = ".jpg"; if (preg_match('/.jpg/', $file) || preg_match('/.gif/', $file) || preg_match('/.png/', $file)){ $files[] = $file; } } } closedir($handle); } sort($files); if (!is_dir($thumb)) { mkdir($thumb, 0755); } $i = 0; $th = array(); $iw = array(); $ih = array(); $ifs = array(); foreach ($files as $image) { $thumbimage = $thumb."/".$image; $thumb_exists = file_exists($thumbimage); $size = GetImageSize($image); $width = $size[0]; $height = $size[1]; $type = $size[2]; if (!$thumb_exists) { set_time_limit(30); switch ($type) { case 1 : $im = ImageCreateFromGIF($image); break; case 2 : $im = ImageCreateFromJPEG($image); break; case 3 : $im = ImageCreateFromPNG($image); break; } $newwidth = $thumbwidth; $newheight = ($newwidth / $width) * $height; $im2 = ImageCreateTrueColor($newwidth,$newheight); imagesavealpha($im2, true); $trans_colour = imagecolorallocatealpha($im2, 0, 0, 0, 127); imagefill($im2, 0, 0, $trans_colour); ImageCopyResampled($im2,$im,0,0,0,0,$newwidth,$newheight,$width,$height); switch ($type) { case 1: ImageGIF($im2, $thumbimage); break; case 2: ImageJpeg($im2, $thumbimage, $imagequality); break; case 3: ImagePNG($im2, $thumbimage); break; imagedestroy($im); imagedestroy($im2); } } $th[$i] = $thumbimage; $iw[$i] = $width; $ih[$i] = $height; $ifs[$i] = round((@filesize($image)/1024), 1); $i++; } echo "&lt;table border=\"0\" cellspacing=\"3\" cellpadding=\"3\"&gt;"; echo "&lt;tr&gt;&lt;td&gt;$Gal&lt;/td&gt;&lt;/tr&gt;&lt;br&gt;"; echo "&lt;/table&gt;"; if (!isset($iid)) { $rows = round(count($th)/$cols); if (($rows * $cols) &lt; (count($th))) { $rows++; } echo "&lt;table border=\"0\" cellspacing=\"3\" cellpadding=\"3\"&gt;"; echo "&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br&gt;"; echo "&lt;tr&gt;&lt;td&gt;Click on the thumbnail for a larger image.&lt;/td&gt;&lt;/tr&gt;&lt;br&gt;"; echo "&lt;/table&gt;"; echo "&lt;center&gt;&lt;table border=\"0\" cellspacing=\"3\" cellpadding=\"3\"&gt;"; for ($i = 1; $i &lt;= $rows; $i++) { echo "&lt;tr&gt;"; for ($j = 1; $j &lt;= $cols; $j++) { $td = (($i - 1) * $cols) + $j; $iu = ($td - 1); if (isset($th[$iu])) { $filebodyname = split("[/\\.]", $files[$iu]) ; $n = count($filebodyname)-2; $filebodyname = $filebodyname[$n]; $op = ""; $op .= "&lt;td align=\"center\" valign=\"bottom\"&gt;\n&lt;br&gt;\n"; $op .= "&lt;a title=\"$vi\" href=\"$sname?iid=$iu\" target=\"_blank\" &gt;\n"; $op .= "&lt;img src=\"$th[$iu]\" border=\"0\"&gt;&lt;/a&gt;\n"; $op .= "&lt;br&gt;&lt;a title=\"$vi\" href=\"$sname?iid=$iu\" target=\"_blank\" &gt;$filebodyname&lt;/a&gt;&lt;br&gt;\n"; $op .= "$vi\n"; $op .= "&lt;/td&gt;\n"; echo $op; } } echo "&lt;/tr&gt;\n"; } } else { $filebodyname = split("[/\\.]", $files[$iid]) ; $n = count($filebodyname)-2; $filebodyname = $filebodyname[$n]; $iid2 = $iid+1; $tot = count($th); $op = ""; $op .= "&lt;center&gt;&lt;table border=\"0\" cellspacing=\"3\" cellpadding=\"3\"&gt;"; $op .= "&lt;tr&gt;\n&lt;td align=\"center\"valign=\"top\"&gt;\n$msgcp $iid2 $msgof $tot &lt;/td&gt;\n&lt;/tr&gt;\n&lt;tr&gt;\n"; $op .= "&lt;td align=\"center\"&gt;\n&lt;br&gt;\n"; $op .= "&lt;img src=\"$files[$iid]\" border=\"0\"&gt;\n"; $op .= "&lt;br&gt;$filebodyname\n"; $op .= "&lt;br&gt;\n&lt;/td&gt;\n&lt;/tr&gt;\n"; echo $op; echo "&lt;/table&gt;&lt;/center&gt;"; } echo "&lt;/table&gt;&lt;/center&gt;"; echo "&lt;/body&gt;&lt;/html&gt;"; ?&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload