login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Foto gallerijen > Foto Gallery

Foto Gallery

Auteur: Tom - 27 september 2004 - 16:37 - Gekeurd door: Dennisvb - Hits: 24428 - Aantal punten: 2.00 (8 stemmen)




Dit script haalt je foto's uit een directory en maakt er een thumbnail directory bij. Vervolgens plaatst hij alle foto's op een pagina en kan je ze bekijken. Het moeten allemaal .JPG of .JPEG of .jpg of .jpeg foto's zijn,anders werkt het niet!
Om het uit te breiden kan je ook zo werken, als je bijvoorbeeld maar 1 script voor een heleboel fotopagina's wilt hebben:
$dir = "School"; veranderen in $dir = "$directory";
$thumb = "thumbs"; veranderen in $thumb = "$thumbnails";

Als je dan een link maakt, bijvoorbeeld fotos.php?directory=Hier_Je_Dir&thumbnails=Hier_Je_Thumbnails_Dir
include ie gelijk daar de foto's van 

Code:
  1. <?php
  2. //Door Tom Lustig
  3. $dir = "School"; // Dir van je foto's
  4. $Gal = "Members Foto's"; // Titel
  5. $thumb = "thumbs"; // Thumbs directory naam
  6. $thumbwidth = "100"; // Width van een thumbnail
  7. $imagequality = "100"; // Foto kwaliteit, in procenten
  8. $cols = "4"; // Aantal kolommen
  9. $vi = "Bekijk Foto"; // Text voor link van foto bekijken
  10. $sname = "fotos.php"; // Naam van deze file
  11. $isz = "Grote"; // Text voor grote
  12. $msgnav = "Bekijk FotoGallery"; // Text voor het bekijken van de gallery
  13. $msgcp = "Foto"; // Text voor een foto
  14. $msgof = "van"; // Text voor foto 1 VAN 24
  15. $msgback = "Terug naar het album"; // Text voor link naar de gallery
  16.  
  17. if (isset($_GET['iid'])) {
  18. $_GET['iid'];
  19. } elseif (isset($_POST['iid'])) {
  20. $_POST['iid'];
  21. }
  22.  
  23.  
  24. $files = array();
  25. if ($handle = opendir('$dir')) {
  26. while (false !== ($file = readdir($handle))) {
  27. if ($file != "." && $file != "..") {
  28. if (eregi("\.jpe?g$", $file) ||
  29. eregi("\.gif$", $file) ||
  30. eregi("\.png$", $file)) {
  31. $files[] = $file;
  32. }
  33. }
  34. }
  35. closedir($handle);
  36. }
  37.  
  38.  
  39. sort($files);
  40.  
  41. if (!is_dir($thumb)) {
  42. mkdir($thumb, 0755);
  43. }
  44.  
  45. $i = 0;
  46. $th = array();
  47. $iw = array();
  48. $ih = array();
  49. $ifs = array();
  50. foreach ($files as $image) {
  51. $thumbimage = $thumb."/".$image;
  52. $thumb_exists = file_exists($thumbimage);
  53. $size = GetImageSize($image);
  54. $width = $size[0];
  55. $height = $size[1];
  56. $type = $size[2];
  57. if (!$thumb_exists) {
  58. switch ($type) {
  59. case 1 :
  60. $im = ImageCreateFromGIF($image);
  61. break;
  62. case 2 :
  63. $im = ImageCreateFromJPEG($image);
  64. break;
  65. case 3 :
  66. $im = ImageCreateFromPNG($image);
  67. break;
  68. }
  69. $newwidth = $thumbwidth;
  70. $newheight = ($newwidth / $width) * $height;
  71. $im2 = ImageCreateTrueColor($newwidth,$newheight);
  72. ImageCopyResampled($im2,$im,0,0,0,0,$newwidth,$newheight,$width,$height);
  73. switch ($type) {
  74. case 1:
  75. ImageGIF($im2, $thumbimage);
  76. break;
  77. case 2:
  78. ImageJpeg($im2, $thumbimage, $imagequality);
  79. break;
  80. case 3:
  81. ImagePNG($im2, $thumbimage);
  82. break;
  83. imagedestroy($im);
  84. imagedestroy($im2);
  85. }
  86.  
  87. }
  88. $th[$i] = $thumbimage;
  89. $iw[$i] = $width;
  90. $ih[$i] = $height;
  91. $ifs[$i] = round((@filesize($image)/1024), 1);
  92. $i++;
  93. }
  94.  
  95. echo "<br>";
  96. echo "<p align=\"center\"><font size=\"4\" color=\"#000000\">" . $Gal . "</font></p>";
  97. echo "<br>";
  98. echo "<table border=\"1\" align=\"center\" bordercolor=\"#000000\" cellspacing=\"3\" cellpadding=\"3\">"; // Dit kan je natuurlijk naar je eigen style aanpassen
  99. if (!isset($iid)) {
  100. $rows = round(count($th)/$cols);
  101. if (($rows * $cols) < (count($th))) {
  102. $rows++;
  103. }
  104. for ($i = 1; $i <= $rows; $i++) {
  105. echo "<tr>";
  106. for ($j = 1; $j <= $cols; $j++) {
  107. $td = (($i - 1) * $cols) + $j;
  108. $iu = ($td - 1);
  109. if (isset($th[$iu])) {
  110. $op = "";
  111. $op .= "<td>\n<div align=\"center\">\n<br>\n";
  112. $op .= "<a title=\"" . $vi . "\" href=\"" . $sname . "?iid=" .$iu . "\">\n";
  113. $op .= "<img src=\"" . $th[$iu] . "\" border=\"0\">\n";
  114. $op .= "<br>" . $isz . ": " . $hw[$iu] . " x" . $ih[$iu] . "\n";
  115. $op .= "<br>" . $ifs[$iu] . " Kb.</a>\n";
  116. $op .= "<br>\n</div>\n</td>\n";
  117. echo $op;
  118. } else {
  119. echo "<td>\n<br></td>\n";
  120. }
  121. }
  122. echo "</tr>\n";
  123. }
  124.  
  125. } else {
  126. $iid2 = $iid+1;
  127. $tot = count($th);
  128. $op = "";
  129. $op .= "<tr>\n<td>\n<div align=\"center\"> " . $msgnav . " " . $Gal . " :: " . $msgcp . " " . $iid2 . " " . $msgof . " " . $tot . " </td>\n</tr>\n<tr>\n";
  130. $op .= "<td>\n<div align=\"center\">\n<br>\n";
  131. $op .= "<img src=\"" . $files[$iid] . "\" border=\"0\">\n";
  132. $op .= "<br>" . $isz . " " . $iw[$iid] . " x " . $ih[$iid] . "\n";
  133. $op .= "<br>" . $ifs[$iid] . " Kb.</a>\n";
  134. $op .= "<br>\n</div>\n</td>\n</tr>\n";
  135. $op .= "<tr>\n<td>\n<div align=\"center\"><a href=\"" . $sname . "\"> " . $msgback . " </a></div></td></tr>";
  136. echo $op;
  137. }
  138. echo "</table>";
  139. ?>
Download code! Download code (.txt)

 Bekijk een voorbeeld van dit script!
 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (3)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.051s