Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: galeria problem
Forum PHP.pl > Forum > Przedszkole
stah
Witam mam problem z galerią. Moja strona troszkę się rozrosła i chciałbym aby w galerii było kilka linków a co za tym idzie kilka katalogów i w nich odpowiednie zdjęcia. Niestety nie potrafię przerobić poniższych skryptów php tak aby możliwy był wybór katalogu ze zdjęciami po kliknięciu na odpowieni link... katalog jest ustawiony na stałe w pliku config.php jest i to jest dla mnie problem. Macie może jakiś pomysł? Myślałem aby przypisać do linka jakiś kolejny skrypt, (np. ktory_katal.php) ze zmienną typu $i = 1, 2 lub 3 i następnie przekazać tę zminną do plików galeria.php, config.cfg.php i picture.php w których znajdowała by się instrukcja if ($i == 1) images/galeria1, if ($i == 1) images/galeria2, if ($i == 1) images/galeria3, i tym samym uruchamiana by były zdjęcia z odpowiedniego katalogu. Niestety nie potrafię tego zrobić. Proszę o pomoc. Bardzo mi na tym zależy. Poniżej zamieszczam skrypty.

plik galeria.php
  1. if(is_file('config.cfg.php')) //spradzamy czy mamy plig konfiguracyjny
  2. require 'config.cfg.php';
  3. else
  4. die('Grak pliku konfiguracyjnego');
  5. //sprawdzamy czy mamy katalog ze zdjeciami
  6. if(!is_dir($_images_dir_)) die('Nie ma katologu ze zdjęciami');
  7. ?>
  8.  
  9. <html>
  10. <head>
  11. <title> Galeria </title>
  12. <meta http-equiv="content-type" content="text/html; charset=ISO-8859-2">
  13. <link rel="stylesheet" href="global.css" type="text/css"/>
  14. </head>
  15. <body bgcolor="#E9E9D2">
  16.  
  17. <?
  18. $time_start = microtime(true);
  19.  //liczymy zdjecia (jpg i gif)
  20. $noimage = 0;
  21.  
  22. if ($dh = opendir($_images_dir_))
  23. {
  24. while (($f = readdir($dh)) !== false)
  25. {
  26. if((substr(strtolower($f),-3) == 'jpg') || (substr(strtolower($f),-3) == 'jpg'))
  27. {
  28. $imageinfo = getimagesize($_images_dir_.$f);
  29. $width = $imageinfo[0];
  30. $height = $imageinfo[1];
  31. $size = round(filesize($_images_dir_.$f)/1024,1).' KB';
  32. $noimage++;
  33. $images[] = array('filename' => $f, 'width' => $width, 'height' => $height, 'size' => $size);
  34. array_multisort($images, $_sort_, SORT_REGULAR);
  35. }
  36. }
  37. closedir($dh);
  38. }
  39.  
  40. if($noimage)
  41. {
  42. if($_GET["img"] != '')
  43. {
  44. if($images[$_GET["img"]][filename] != '')
  45. {
  46. if($_GET["img"])
  47. {
  48. $_no_ = ceil(($_GET["img"]+1)/$_no_pics_per_page_);
  49. } else $_no_ = 1;
  50. if($_GET["img"] == 0)
  51. {
  52. $side = '
  53. <p>
  54. <a class="galeria" href="'.$_SERVER["PHP_SELF"].'?no='.$_no_.'"> Góra </a> 
  55. <a class="galeria" href="'.$_SERVER["PHP_SELF"].'?img='.($_GET["img"]+1).'" > Następne </a>
  56. </p>';
  57. }
  58. elseif($_GET["img"] == ($noimage-1))
  59. {
  60. $side = '
  61. <p>
  62. <a class="galeria" href="'.$_SERVER["PHP_SELF"].'?img='.($_GET["img"]-1).'"> Poprzednie </a> 
  63. <a class="galeria" href="'.$_SERVER["PHP_SELF"].'?no='.$_no_.'"> Góra </a>
  64. </p>';
  65. }
  66. else $side = '
  67. <p>
  68. <a class="galeria" href="'.$_SERVER["PHP_SELF"].'?img='.($_GET["img"]-1).'"> Poprzednie </a> 
  69. <a class="galeria" href="'.$_SERVER["PHP_SELF"].'?no='.$_no_.'" > Góra </a> 
  70. <a class="galeria" href="'.$_SERVER["PHP_SELF"].'?img='.($_GET["img"]+1).'" > Następne </a>
  71. </p>';
  72. echo $side.'
  73. <img src="picture.php?img='.$images[$_GET["img"]][filename].'
  74. &show=full
  75. " border="'.$_border_.'
  76. " hspace="'.$_hspace_.'
  77. " vspace="'.$_vspace_.'
  78. " alt="'.$images[$_GET["img"]][filename].'
  79. " title="'.$images[$_GET["img"]][filename].',
  80. '.$images[$_GET["img"]][width].'x'.$images[$_GET["img"]][height].',
  81. '.$images[$_GET["img"]][size].'"
  82. >'.$side;
  83. }
  84. }
  85. else
  86. {
  87. echo '<p>'.$_page_title_.'</p>';
  88. //echo $noimage.'<br>'.print_r($images);
  89. if($noimage > $_no_pics_per_page_)
  90. {
  91. $norows = ceil($_no_pics_per_page_/$_no_cols_);
  92. }
  93. else $norows = ceil($noimage/$_no_cols_);
  94. $nopos = ceil($noimage/$_no_pics_per_page_);
  95. //echo $nopos;
  96. echo '<table border="0" align="center" cellpadding="0" cellspacing="0">';
  97. if($_GET["no"] == "")
  98. {
  99. $no = 1;
  100. }
  101. else $no = $_GET["no"];
  102. $index=abs($no-1)*$_no_pics_per_page_;
  103. if(($noimage-$index)<$_no_pics_per_page_)
  104. {
  105. $norows= ceil(($noimage-$index)/$_no_cols_);
  106. }
  107. for($a = 1;$a<=$norows;$a++)
  108. {
  109. echo '<tr>';
  110. for($b = 1;$b<=$_no_cols_;$b++)
  111. {
  112. if($images[$index][filename] != '')
  113. {
  114. echo '
  115. <td width="'.(2*$_vspace_+$_width_min_).'" valign="top" align="center">
  116. <a href="'.$_SERVER["PHP_SELF"].'?img='.$index.'" >
  117. <img src="picture.php?img='.$images[$index][filename].'
  118. " border="'.$_border_.'
  119. " hspace="'.$_hspace_.'
  120. " vspace="'.$_vspace_.'
  121. " alt="'.$images[$index][filename].'
  122. " title="'.$images[$index][filename].',
  123. '.$images[$index][width].'x'.$images[$index][height].',
  124. '.$images[$index][size].'">
  125. </a>';
  126. if($_filename_)
  127. {
  128. echo '<span>'.$images[$index][filename].'</span><br><br>';
  129. }
  130. echo '</td>';
  131. $index++;
  132. }
  133. else echo '<td width="'.(2*$_vspace_+$_width_min_).'"> </td>';
  134. }
  135. echo '</tr>';
  136. }
  137.  
  138. echo '</table>
  139. ';
  140.  
  141. }
  142.  
  143.  
  144.  
  145. }
  146. else die('W galerii nie ma jeszcze żadnych zdjęć');
  147. $time_end = microtime(true);
  148. $time = $time_end - $time_start;
  149. ?>
  150. </body>
  151. </html>


plik config.cfg.php

  1. <?
  2. //================================================================================
    ================================
  3.  
  4. //ubranka dla strony, mozliwy jeden z ponizszych wariantow
  5. //gallery.css gallery2.css gallery3.css gallery4.css gallery5.css
  6. //$a = rand(1,5);
  7.  
  8. //$_style_ = 'gallery1.css';
  9. //$_style_ = 'gallery'.$a.'.css';
  10.  
  11. //nazwa strony
  12. //$_page_title_
  13.  
  14. //katalog ze zdjeciami
  15. $_images_dir_ = 'images/galeria_anglia/';
  16.  
  17.  
  18. //szerokosc miniaturki zdjecia
  19. $_width_min_ = 155 ;
  20.  
  21. // wysokosc miniaturki zdjecia
  22. $_height_min_ = 115 ;
  23.  
  24. //jakosc prezentowanego zdjecia, im lepsza tym wiekszy rozmiar, przedział od 0-100
  25. $_quality_ = 100;
  26.  
  27. //odstep od zdjecia w poziomie
  28. $_vspace_ = 2 ;
  29.  
  30. //odstep od zdjecia w pionie
  31. $_hspace_ = 2 ;
  32.  
  33. //obramowanie zdjecia w pikselach
  34. $_border_ = 0;
  35.  
  36. //sortowanie ASC rosnaco, DESC malejaco
  37. $_sort_ = SORT_ASC;
  38.  
  39. //szerokosc calego zdjecia
  40. //pelny wymiar zdjec, ustaw zmienna na 0
  41. $_width_max_ = 550 ;
  42.  
  43. //czy pokazywac nazwy plikow graficznych pod ikonkami ze zdjeciami jeśli TAK = 1, 
    NIE = 0
  44. $_filename_ = 0;
  45.  
  46. //ilosc kolumn w galerii
  47. $_no_cols_ = 3;
  48.  
  49. // ilosc zdjec na stronie (= ilosc kolumn x ilosc wierszy)
  50. $_no_pics_per_page_ = 100;
  51. ?>


oraz plik picture.php

  1. <?
  2. //spradzamy czy mamy plig konfiguracyjny
  3. if(is_file('config.cfg.php'))
  4. require 'config.cfg.php';
  5. else
  6. die('Grak pliku konfiguracyjnego');
  7.  
  8. if($_GET[img] == "")
  9.  
  10. if (!ereg('^[^./][^/]*$', $_GET[img]))
  11.  
  12. $_image_ = $_images_dir_.$_GET[img];
  13. $new_w = $_width_min_;
  14. $imagedata = getimagesize($_image_);
  15.  
  16. // echo $_image_;
  17. if(!$imagedata[0])
  18. exit();
  19.  
  20.  
  21. $new_h = (int)($imagedata[1]*($new_w/$imagedata[0]));
  22.  
  23. if(($_height_min_) AND ($new_h > $_height_min_))
  24. {
  25. $new_h = $_height_min_;
  26. $new_w = (int)($imagedata[0]*($new_h/$imagedata[1]));
  27. }
  28.  
  29. if($_GET["show"] == "full")
  30. {
  31. if($_width_max_)
  32. {
  33. if($imagedata[0]<$_width_max_)
  34. {
  35. $new_w = $imagedata[0];
  36. $new_h = $imagedata[1];
  37. }
  38. else
  39. {
  40. $new_w = $_width_max_;
  41. $new_h = (int)($imagedata[1]*($new_w/$imagedata[0]));
  42. }
  43. }
  44. else
  45. {
  46. $new_w = $imagedata[0];
  47. $new_h = $imagedata[1];
  48. }
  49. }
  50.  
  51.  
  52. if(strtolower(substr($_GET[img],-3)) == "jpg")
  53. {
  54. header("Content-type: image/jpg");
  55. $dst_img=ImageCreate($new_w,$new_h);
  56. $src_img=ImageCreateFromJpeg($_image_);
  57. $dst_img = imagecreatetruecolor($new_w, $new_h);
  58. imagecopyresampled($dst_img,$src_img,0,0,0,0,$new_w,$new_h,ImageSX($src_img),ImageSY($src_img));
  59. $img = Imagejpeg($dst_img,'', $_quality_);
  60. }
  61.  
  62. if(substr($_GET[img],-3) == "gif")
  63. {
  64. header("Content-type: image/gif");
  65. $dst_img=ImageCreate($new_w,$new_h);
  66. $src_img=ImageCreateFromGif($_image_);
  67. ImagePaletteCopy($dst_img,$src_img);
  68. ImageCopyResized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,ImageSX($src_img),ImageSY($src_img));
  69. $img = Imagegif($dst_img,'', $_quality_);
  70. }
  71.  
  72.  
  73. ?>


Dziękuję bardzo za pomoc. Wiem że jest to dosyć łatwe... ale niestety moja wiedza i obeznanie z php jest znikome... Dziękuję serdeczenie
vip3r
Sorka, ale wytlumacz jeszcze raz bo cos nie zakapolwalemL:)
stah
masz problemy z koncentracją czy co? smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.