Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: galeria zdjęć
Forum PHP.pl > Forum > PHP
MitS
Witam!

przejde od razu do setna smile.gif

mam taką prostą galerię zdjęć:
  1. <?php
  2.  
  3. function get_files($folder, $filtr)
  4. {
  5. $katalog = opendir($folder);
  6.  
  7. $file = array(); 
  8.  
  9.  
  10.  
  11. while ($next_file = readdir($katalog))
  12.  
  13. if (is_file($folder."/".$next_file) && ereg($filtr, $next_file))
  14.  $file[]=$next_file;
  15.  
  16.  
  17.  
  18. closedir($katalog);
  19.  
  20. sort($file);
  21.  
  22.  
  23. return $file;
  24.  
  25. }
  26.  
  27. $sciezka  = $dir;
  28. $filename  = opendir($sciezka);
  29.  
  30. while (false !== ($plk = readdir($filename))) 
  31. {
  32. if ($plk != "." && $plk != "..") 
  33. {
  34. if (is_dir($plk = readdir($filename)))
  35. $foldery[] = $plk;
  36. else 
  37. $plki[] = $plk;
  38. }
  39. }
  40. closedir($filename);
  41. sort($foldery);
  42.  
  43. if($_GET['todo'] == '')
  44. $unit = 'all';
  45.  
  46. if(in_array($_GET['todo'], $foldery))
  47. $unit = $_GET['todo'];
  48. else
  49. $unit = 'all';
  50.  
  51.  
  52. $pliki = get_files($dir.'/'.$unit.'/', ".jpg$|.gif$");
  53.  
  54. foreach($pliki as $key => $value)
  55. $tablica[] = $key;
  56.  
  57. if($_GET['iid'] == '')
  58. $nr = 0;
  59.  
  60. if(in_array($_GET['iid'], $tablica))
  61. $nr = $_GET['iid'];
  62. else
  63. $nr = 0;
  64.  
  65. if (isset($nr))
  66.  
  67. {
  68. if ($nr == 0)
  69.  echo '<img class="left-img-arrow" src="'.$arrow_left.'" alt="<<" />';
  70.  
  71. else  
  72.  
  73.  echo '
  74.  <a class="a-arrow-link" href="index.php?mod=gallery&amp;todo='.$unit.'&amp;iid='.($nr-1).'" onfocus="blur();">
  75. <img class="left-img-arrow" src="'.$arrow_left.'" alt="<<" />
  76. </a>';
  77.  
  78.  
  79. if ($nr == (count($pliki)-1))
  80.  echo '<img class="right-img-arrow" src="'.$arrow_right.'" alt=">>" />';
  81.  
  82. else  
  83.  echo '
  84. <a class="a-arrow-link" href="index.php?mod=gallery&amp;todo='.$unit.'&amp;iid='.($nr+1).'" onfocus="blur();">
  85. <img class="right-img-arrow" src="'.$arrow_right.'" alt=">>" />
  86. </a>';  
  87.  
  88.  echo '
  89. <div id="my_img">
  90. <img class="my_img" src="'.$dir.'/'.$unit.'/'.$pliki[$nr].'" alt="'.$pliki[$nr].'" />
  91. </div>';
  92.  
  93. }
  94. ?>


no i niby wszystko smiga ale pojawiają mi sie dwa warningi:

Warning: sort() expects parameter 1 to be array, null given in /var/www/html/piaskownica/tpl/tpl.gallery.php on line 33

Warning: in_array() [function.in-array]: Wrong datatype for second argument in /var/www/html/piaskownica/tpl/tpl.gallery.php on line 38

i te linijki dot.
sort($foldery);

if($_GET['todo'] == '')
$unit = 'all';

if(in_array($_GET['todo'], $foldery))
$unit = $_GET['todo'];
else
$unit = 'all';


co tu jest źle questionmark.gif
Kicok
to, że jeśli w folderze $sciezka nie będzie żadnych podfolderów, to tablica $foldery nie zostanie zadeklarowana.

  1. <?php
  2. // Deklarujemy zmienną $foldery:
  3. $foldery = array();
  4. $sciezka  = $dir;
  5. ?>
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.