Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]Include - problem z głównym katalogiem
Forum PHP.pl > Forum > Przedszkole
lyczos
Witam!
Mam problem który próbuje rozwiązać od kilku dni sad.gif

Mianowicie:
Mam plik index.php, zaincludowalem w plik top.php(główne menu) i wszystko działało OK dopóki nie pojawiły sie strony w podkatalogach.
W głównym katalogu wywołuje:
  1. <?php include('top.php'); ?>

W podkatalogu:
  1. <?php include('../top.php'); ?>

Zaś przy następnym poziomie:
  1. <?php include('../../top.php'); ?>


Męczące jest dodawanie ../ zależnie od pliku w którym includuje, czy jest jakaś opcja automatycznego przejścia do głownego katalogu(ponieważ w pliku top.php mam scieżki do plików np. images/obraz.jpg wykorzystam tą funkcje również w tym przypadku)?

Jestem zielony, staram sie zobrazować sytuacje. Prosze o jasną odpowiedź.

jeszcze obrazek który iluzstruje(chyba tongue.gif) sytuacje:
erix
Zrób stałą zawierającą główny katalog aplikacji i odwołuj się w każdym elemencie kodu np. tak:
  1. <?php
  2. require APP_ROOT.'/plik.php';
  3. ?>
lyczos
Dzięki, pewnie zadziałałoby gdybym wiedział co i jak smile.gif
Kod
[b]Warning[/b]:  require(APP_ROOT/top.php) [[url="http://localhost/filie/function.require"]function.require[/url]]: failed to open stream: No such file or directory in [b]C:\xampp\htdocs\filie\filia_start.php[/b] on line [b]2[/b]


mój kod w pliku filia_start.php:
  1. <?php
  2. require APP_ROOT.'/top.php';
  3. ?>
  4. <?php include('topsection.php'); ?>
  5. <?php include('top.php'); ?>
  6.  
  7.  
  8.  
  9.  
  10. </body>
  11. </html>



Trudne te początki smile.gif
kefirek
Tak jak podał kolega wyżej robisz stałą czyli

  1. <?php
  2. while (!file_exists($glowny_folder."plik.php")) {
  3. $glowny_folder .= "../"; $i++;
  4. if ($i == 5)
  5. }
  6. define("GLOWNY", $glowny_folder);
  7. ?>


Podajesz nazwę pliku jaki jest w gównym folderze (tam gdzie plik.php to podajesz twój jakiś plik) i potem przy adresach robisz tak
  1. <?php
  2. include GLOWNY."top.php"
  3. ?>


I tak przy każdym linku do głównego folderu
lyczos
Dziękuje, działa smile.gif

Mam jeszcze jedno pytanko(tak, znienawidzicie mnie smile.gif )
Wiem, że to dział php ale nie ma sensu zakładać drugiego tematu.

Jeśli w pliku załadowanym(top.php) mam kod HTML odwołujący się do podfolderów:
  1. <img src="images/index_03.jpg" width="248" height="186" alt="" />

Co mogę zmienić(nawet na php jeśli nie ma innego wyjścia), żeby w tym przypadku obrazek się załadował, bo w tym momencie w przypadku katalogu "filie" próbuje otworzyć plik
Kod
filie/images/index_03.jpg

a nie
Kod
images/index_03.jpg


I z góry dziekuje smile.gif
piotrooo89
Kod
../images/index_03.jpg


nie wiem czy o to chodziło.
lyczos
Heh smile.gif coś w tym stylu, tylko to działa jeśli jest jeden podfolder, w następnych trzeba dodawać
Kod
../../images/index_03.jpg

itd.. smile.gif
A mi chodzi o to żeby było dynamicznie jak kolega wcześniej napisał smile.gif czyli coś co odrazy powróci do głównego albo będzie powracało dopóki nie znajdzie jakiegoś pliku(jak w tym php), ew. jak wczytywać obrazki w php albo jakaś inna alternatywa to wtedy może jakoś podepne ten skrypt wcześniejszy smile.gif

Dziękuje za chęci smile.gif
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.