Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Includowanie galerii i niepoprawne ścieżki
Forum PHP.pl > Forum > Przedszkole
M!ke
Witam serdecznie
zaczynam przygode z php i sptkal mnie taki problem, chce wrzucic do tworzonej przeze mnie stronki galerie. Wybralem juz nawet pewna znaleziona na jakiejs stronce ze skryptami. ale problem polega na tym ze nijak nie moge tej galerii umiescic tam gdzie bym chcial.
Stronka oparta jest na tabelach, lewa strona to menu, prawa czesc wlasciwa w ktorej chce includowac galerie.
struktura wyglada tak: plik index.php gdzie zawarte jest to co trzeba, katalogi:
page/ w nim pliki z rozszerzeniem php to pliki odpowiedzialne za tresc danej podstrony
include/ tutaj wrzucona czesc odpowiedzialna za menu.
galeryja/ w do tego kat wrzucam kat z fotkami, tutaj tez zamiescilem plik gallery.php ktorego kod wyglada tak:
  1. <?
  2. ob_start(gz_handler);
  3.  
  4. // funkcja pokazuje katalogi
  5. function show_img_folders()
  6. {
  7. $dp = opendir('./galeria/'); //katalog gdzie znajduje sie galeria
  8. while(false !== ($img_dir = readdir($dp)))
  9. {
  10. if($img_dir!='.' && $img_dir!='..')
  11. if(is_dir($img_dir)) echo '<a href="?dir='.$img_dir.'">'.$img_dir.'</a><br />';
  12. }
  13. }
  14.  
  15. // funkcja pobiera obrazki z katalogu
  16. function get_images($dir)
  17. {
  18. // tablica z roszerzeniami ktore bedzie obslugiwac nasza galeria
  19. $extensions = array('jpg','jpeg');
  20.  
  21. // ladujemy obrazki
  22. $dp = opendir($dir);
  23. while(false !== ($image = readdir($dp)))
  24. {
  25. if($image != '.' && $image != '..')
  26. {
  27. $ext = explode('.', $image);
  28. if(in_array(strtolower($ext[1]), $extensions)) // sprawdzamy rozszerzenie
  29. $images[] = $image;
  30. }
  31. }
  32. return $images;
  33. }
  34.  
  35. // funkcja pobiera opisy
  36. function get_desc($dir)
  37. {
  38. // otwieramy plik z opisami
  39. $file = 'images.txt';
  40. if(file_exists($dir.$file))
  41. {
  42. $dp = fopen($dir.$file, 'r');
  43. while(!feof($dp))
  44. {
  45. $desc = fgets($dp); // zczytujemy linijke z opisem
  46. $desc_exp[] = explode('|',$desc); // rozbijamy z formatu: obrazek.jpg|jakis opis
  47. }
  48. fclose($dp); // zamykamy plik
  49. return $desc_exp; // zwracamy tablice
  50. } else die('<font color="red">Stworz plik: "images.txt" w katalogu: <b>'.$dir.'</b></font>');
  51. }
  52.  
  53.  
  54.  
  55. if(isset($_GET['dir'])) // sprawdzamy czy ustawiono zmienna $_GET
  56. {
  57. if(is_dir($_GET['dir'])) // sprawdzamy czy istnieje katalog
  58. {
  59. $dir = $_GET['dir'].'/'; // katalog z fotkami
  60. $images = get_images($dir); // pobieramy do zmiennej nazwy obrazkow
  61. $descriptions = get_desc($dir); // pobieramy do zmiennej opisy
  62.  
  63. $col = 4; // ilosc kolumn obrazkow
  64.  
  65. // sprawdzamy czy tablica zawiera jakies nazwy obrazkow
  66. if(count($images) == 0) die('Nie znaleziono plikow graficznych');
  67.  
  68. // wyswietlamy wszystko
  69. echo '<table align="center" style="border: 1px solid #000000"><tr><td colspan="'.$col.'"><b>'.$dir.'</b></td></tr><tr>';
  70. foreach($images as $img)
  71. {
  72. echo '<td align="center"><table><tr><td valign="top" align="center"><a href="'.$dir.$img.'" target"_blank"><img src="graph.php?img_name='.$dir.$img.'" width="100" height="100" border="0"></a></td></td></tr><tr><td align="center">';
  73. foreach($descriptions as $desc)
  74. {
  75. if($desc[0]==$img) echo $desc[1];
  76. else echo '&nbsp;';
  77. }
  78. echo '</td></tr></table>';
  79. $i++;
  80. if($i==$col) // jesli $i = liczbie kolumn, tworzymy nowy wiersz
  81. {
  82. $i=0;
  83. echo '</tr><tr>';
  84. }
  85. }
  86. echo '</tr></table>';
  87. } else echo 'Katalog nie istnieje';
  88. } else show_img_folders(); // pokazujemy katalogi
  89. ?>

dzialac to powinno tak na stronce pojawiaja sie linki do kat z fotkami a dana funkcja wyswietla odp fotki.
Skrytp normalnie dziala tylko w momencie kiedy prubuje go wrzucic w ta czesc strony o ktorej wspomnialem wczesniej nie wyswietla nic.
moj plik galeria.php w katalogu page wyglada tak:
  1. <?
  2. $newspath = "galeryja";
  3. include("$newspath/gallery.php");
  4. ?>


prosze madre glowy o podpowiedzi. z gory trafiacie do mojego hall of fame
tiraeth
Ścieżki do plików w skrypcie (sztywno) nie ma odwołań do zmiennej $newspath

Kod
---- [ ZNAJDŹ ] ----
       $dir = $_GET['dir'].'/'; // katalog z fotkami
---- [ ZAMIEŃ NA ] ----
       $dir = $newspath . $_GET['dir'].'/'; // katalog z fotkami
M!ke
zrobilem tak jak mowiles niestety dalej nie dziala ;]
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.