Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem ze skryptem galerii
Forum PHP.pl > Forum > Gotowe rozwiązania
MK777
Mam taką oto prostą galerię
  1. <? 
  2. ############### 
  3. # script by cezi 
  4. ############### 
  5. error_reporting(E_PARSE); 
  6. define('K', '<br>'); 
  7. ################################### 
  8. $max = 9; // ile na stronie 
  9. $katalog = 'galeria/spore'; // katalog z grafika 
  10. $wiersz = 3; // liczba komorek w wierszu 
  11. $rozmiar = '25'; // rozmiar miniatur - podane w procentach ! 
  12. $dlugosc = '300'; //szer. tabeli w px. 
  13. $katalog2 = 'galeria/spore'; //katalog z wieksza grafika 
  14. $resize_od = '125'; // zmniejszanie obrazka powyzej (lub rowne) 200 pikseli szer. lub wysokosci - inne nie sa zmniejszane 
  15. ################################### 
  16.  
  17. $_exclusion = Array ('.','..'); 
  18. $array_pad = dir($katalog); 
  19. $arg = array(); 
  20. while((false !== ($gal = $array_pad -> read()))) 
  21. { 
  22. if(!in_array($gal, $_exclusion)) 
  23.  { 
  24.  $arg[] = $gal; 
  25.  }; 
  26. }; 
  27.  
  28. $array_pad -> close(); 
  29. sort($arg, SORT_ASC); 
  30. $all = count($arg); 
  31. $_GET['pan'] = (int)$_GET['pan']; 
  32. (!isset($_GET['pan'])) ? $_GET['pan']='0' : $_GET['pan'] = $_GET['pan']; 
  33.  
  34. $od = $_GET['pan']; 
  35. $do = $_GET['pan']+$max; 
  36. $b = 0; 
  37.  
  38.  
  39.  
  40. for($i=$od;$i<$do;$i++) 
  41. { 
  42. if(!empty($arg[$i])) 
  43. { 
  44.  $query[] = $arg[$i]; 
  45. } 
  46. };
  47.  
  48. if($_GET['pan']!=&#092;"0\"){ 
  49.  echo &#092;"<A HREF='?pan=\".($_GET['pan']-$max).\"'>&laquo;&laquo;</A> \"; 
  50. }else{ 
  51. print '&laquo;&laquo; '; 
  52. } 
  53. if($_GET['pan']!=&#092;"0\"){ 
  54. echo &#092;" <A HREF='?pan=0'>Pierwsza strona</A> \"; 
  55. } 
  56. print ' [ '; 
  57. $c = (($_GET['pan']+$max)<=$all) ? $_GET['pan']+$max : $all; 
  58. print $c . '/' . ($all); 
  59. print ' ] '; 
  60. if(($_GET['pan']+$max)<ceil($all)) 
  61. { 
  62. $arr = ceil($all/$max); 
  63. echo &#092;" <A HREF='?pan=\".($arr*$max-$max).\"'>Ostatnia strona</A> \"; 
  64. } 
  65. if(($_GET['pan']+$max)<ceil($all)) 
  66. { 
  67. echo &#092;"<A HREF='?pan=\".($_GET['pan']+$max).\"'>&raquo;&raquo;</A>\"; 
  68. } 
  69. else{ 
  70. echo &#092;"&raquo;&raquo;\"; 
  71. } 
  72.  
  73. print K.''.K; 
  74.  
  75. ####################################### 
  76. # WYSWIETLENIE GALERII 
  77.  
  78.  print &#092;"<table border='0' cellpadding='1' cellspacing='0' width=$dlugosc>\"; 
  79.  for($k=0;$k<count($query);$k++) 
  80. { 
  81.  
  82. $size['pre'] = getimagesize($katalog.'/'.$query[$k]); 
  83.  
  84. if(($size['pre'][0]>= $resize_od)||($size['pre'][1]>=$resize_od)) 
  85.  { 
  86.  
  87. $pr['width'] = '125'; 
  88. $zoom = ($size['pre'][0]/$pr['width']); 
  89.  
  90. }else 
  91.  { 
  92.  $pr['width'] = $size['pre'][0]; 
  93. $pr['height'] = $size['pre'][1]; 
  94.  } 
  95. $b++; 
  96.  if($b==1) 
  97.  { 
  98.  print '<tr>'; 
  99.  }
  100.  print '<td align=center width=' . (floor($dlugosc/$wiersz)) . '>'; 
  101.  print &#092;"<a HREF=\" . $katalog2 . '/' . $query[$k] . \" target='new'>\"; 
  102.  print &#092;"<img SRC=\" . $katalog .'/'. $query[$k] . \" width=\" . $pr['width'] . \" border=0></a>\"; 
  103. if(($size['pre'][0]>= $resize_od)||($size['pre'][1]>=$resize_od)) 
  104.  {  
  105.  } 
  106.  print '</td>'; 
  107.  
  108. if($b==$wiersz) 
  109.  { 
  110.  $b = 0; 
  111.  print '</tr>'; 
  112.  } 
  113. }; 
  114. print '</table>'; 
  115.  
  116.  
  117. ?>

Skrypt znajduje się tutaj: http://www.simsy.net/index.php?go=g10 i jak widać zarówno strona jak i skrypt korzystają z polecenia GET. Więc jeśli próbuje przejść do następnej strony galerii to skrypt bierze taki link: www.simsy.net/index.php?pan=9 i jest problem sad.gif Ma ktoś jakiś pomysł co z tym zrobić?
crash
Wystarczy wyświetlić $query[$k] a rozmiar pobrać z
  1. <?php
  2. filesize($katalog2.'/'.$query[$k])
  3. ?>
Do zamiany rozmiaru z bajtów na odpowiednie jednostki użyj funkcji:
  1. <?php
  2. function f_size($rozm)
  3. {
  4. $sizes = array('B', 'kB', 'MB', 'GB', 'TB');
  5. $pos  = 0;
  6.  
  7. while($rozm >= 1024)
  8. {
  9. $rozm /= 1024;
  10. $pos++;
  11. }
  12.  
  13. return round($rozm, 2).$sizes[$pos];
  14. }
  15. ?>
crash
Ke? Miałeś racje, że coś zrypiesz winksmiley.jpg
  1. <?php
  2. function f_size($rozm)
  3. {
  4. $sizes = array('B', 'kB', 'MB', 'GB', 'TB');
  5. $pos  = 0;
  6.  
  7. while($rozm >= 1024)
  8. {
  9. $rozm /= 1024;
  10. $pos++;
  11. }
  12.  
  13. return round($rozm, 2).$sizes[$pos];
  14. }
  15.  
  16. echo f_size(filesize('./temp.zip')); // 4.1MB
  17. ?>
tiraeth
co do błedu ze stroną to w linkach pozamieniaj ?pan= na ?go=g10&pan=
dr_bonzo
Cytat
moze ma ktos chec na modyfikacje bo ja sie za to nie biore bo jak zawsze zrypie tongue.gif

Tak czytam i nie wierze, hawk nie moze tego zmodyfikowac?questionmark.gif smile.gif

@Qel:
Cytat
Wybierając emblemat wypada sprawdźić czy ktoś inny na forum już z niego nie korzysta, a w razie wątpliwości zrezygnować z danego emblematu.

--> hawk
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.