Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem ze skryptem galerii
MK777
post 25.03.2005, 14:55:54
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 2.01.2005

Ostrzeżenie: (0%)
-----


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ć?
Go to the top of the page
+Quote Post
crash
post 17.05.2005, 22:31:57
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


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


--------------------
Go to the top of the page
+Quote Post
crash
post 17.05.2005, 23:30:20
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


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


--------------------
Go to the top of the page
+Quote Post
tiraeth
post 19.05.2005, 08:29:43
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


co do błedu ze stroną to w linkach pozamieniaj ?pan= na ?go=g10&pan=
Go to the top of the page
+Quote Post
dr_bonzo
post 19.05.2005, 08:36:38
Post #5





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


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


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 30.06.2025 - 02:19