Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Skrypt wyświetlający miniaturki na stronie
Forum PHP.pl > Forum > Przedszkole
shadow_c
Witam, to jest mój pierwszy post na tym forum. Mam taki problem, napisałem skrypt który ma wyświetlać na stronie miniaturki (pobiera zdjęcia z folderu w kórym są faktycznie miniaturki o rozdzielczości 125px na 140px) a po kliknięciu na daną miniaturkę otwiera się w nowym oknie duże zdjęcie z folderu w którym są faktycznie duże zdjęcia. Problem polega na tym że jak uruchomie ten skrypt na krasnalu(apache) zainstalowanym na stacji roboczej (windows) to działa, a jak wrzuce do apacha serwer na linuxie to nie wyświetla miniaturek na stronie.Poniżej skrypt o ktorym pisze:
Kod

<table border="0"><tr>
<?php
$img_dir= "./galgotgol/duze\\";   // katalog z duzymi zdjęciami
$min_dir= "./galgotgol/min\\";     //katalog z miniaturkami
$cols =4;
$width=50;
$counter=1;
if(!($fd = opendir($min_dir))) exit;
while (($file=readdir($fd)) !== false){
if($file !="." && $file != ".."){
$name = substr($file,0 ,strlen($file)-4);
$name = $name.".jpg";
      echo("\r\n<td align=\"center\" valign=\"middle\" border=\"0\">\r\n");
      echo("<a target=\"$img_dir$name\" HREF=\"$img_dir$name\" >");
      echo("<IMG SRC=\"$min_dir$file\" border=\"0\">");
      echo("</a>");
      echo("\r\n</td>\r\n");
      if(($counter >=$cols) && (($counter % $cols) == 0)){
      echo("\r\n</tr><tr>\r\n");
       }
       $counter++;
        }
         }
         echo("\r\n</tr>\r\n");
         closedir($fd);
         ?>
</table>



Prosze o pomoc, w czym może tkwić problem, bo ja jużnie wiem, inne skrypty na tym serwerze linuxowym działają, a ten nie chce.
Nattfarinn
Twój kod to:
  1. <table border="0"><tr>
  2. <?php
  3. $img_dir= "./galgotgol/duze\";  // katalog z duzymi zdjęciami
  4. $min_dir= "./galgotgol/min&#092;";  //katalog z miniaturkami
  5. $cols =4;
  6. $width=50;
  7. $counter=1;
  8. if(!($fd = opendir($min_dir))) exit;
  9. while (($file=readdir($fd)) !== false){
  10. if($file !="." && $file != ".."){
  11. $name = substr($file,,strlen($file)-4);
  12. $name = $name.".jpg";
  13. echo("r\n<td align=\"center\" valign=\"middle\" border=\"0\">r\n");
  14. echo("<a target=\"$img_dir$name\" HREF=\"$img_dir$name\" >");
  15. echo("<IMG SRC=\"$min_dir$file\" border=\"0\">");
  16. echo("</a>");
  17. echo("r\n</td>r\n");
  18. if(($counter >=$cols) && (($counter % $cols) == 0)){
  19. echo("r\n</tr><tr>r\n");
  20.  }
  21.  $counter++;
  22. }
  23.  }
  24.  echo("r\n</tr>r\n");
  25.  closedir($fd);
  26.  ?>
  27. </table>

Nie rozumiem użycia w ścieżce dostępu (linii 3 i 4) znaków "\\". Dlaczego te linie nie wyglądają:
Kod
$img_dir= "./galgotgol/duze/";   // katalog z duzymi zdjęciami
$min_dir= "./galgotgol/min/";     //katalog z miniaturkami

Skrypt sprawdzę za 30 minut i najwyżej wyedytuję posta jesli problem będzie jeszcze nierozwiązany - zmykam teraz na autobus do pracy. smile.gif

Edit:
  1. <table border="0">
  2. <tr>
  3.  
  4. <?php
  5.  
  6. $img_dir = "./galgotgol/duze/"; // katalog z duzymi zdjęciami
  7. $min_dir = "./galgotgol/min/";  //katalog z miniaturkami
  8. $cols = 4;
  9. $width  = 50;
  10. $counter = 1;
  11.  
  12. if(!($fd = opendir($min_dir))) exit;
  13. while (($file=readdir($fd)) !== false)
  14. {
  15. if($file !="." && $file != "..")
  16. {
  17. $name = substr($file, 0, strlen($file)-4).".jpg";
  18. echo("r\n<td align=\"center\" valign=\"middle\" border=\"0\">r\n");
  19. echo("<a target=\"$img_dir$name\" HREF=\"$img_dir$name\" >");
  20. echo("<IMG SRC=\"$min_dir$file\" border=\"0\">");
  21. echo("</a>");
  22. echo("r\n</td>r\n");
  23. if(($counter >=$cols) && (($counter % $cols) == 0))
  24. {
  25. echo("r\n</tr><tr>r\n");
  26. }
  27. $counter++;
  28. }
  29. }
  30.  
  31. closedir($fd);
  32.  
  33. ?>
  34.  
  35. </tr>
  36. </table>

Ten kod zadziała na pewno - jeśli jednak pojawia Ci się jakiś błąd, wklej go. smile.gif
shadow_c
Sprawdze napewno ale dopiero około 14:30 jak wróce z pracy, więc odeze się jak wygląda sprawa, narazie dziękuje za inforacje.
b_chmura
trochę dużo tego kodu tutaj, w Twoim kodzie winna prawdopodobnie leżała przy ścieżkach do katalogu. Poniżej przedstawiam skrypt który wyświetli Ci oblinkowane miniaturki (miniaturki muszą mieć taką samą nawę jak oryginalne pliki!)

  1. <?php
  2. $img_dir = "./galgotgol/duze/";
  3. $min_dir = "./galgotgol/min/";
  4. $cols = 4;
  5. $width  = 50;
  6. $i  = 1;
  7.  
  8. $files = scandir($img_dir);
  9. foreach($files as $file)
  10. {
  11. if(is_file($file))
  12. {
  13. echo '<td align="center" valign="middle" border="0">
  14. <a target="_blank" href="'.$img_dir.$file.'"><img src="'.$min_dir.$file.'" border="0"></a>
  15. </td>';
  16. if($i == $cols)
  17. {
  18. echo '</tr><tr>';
  19. $i = 1;
  20. }
  21. $i++
  22. }
  23. }
  24. echo '</tr></table>';
  25. ?>
shadow_c
Dzięki Nattfarinn skrypcik zadziałał po poprawieniu w ścieżce dostępu, a tak przy okazji przetestuje też skrypt b_chmura tylko jutro bo dzisiaj nie mam kiedy.
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.