Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Ścieżka główna do plików i podstron strony
Forum PHP.pl > Forum > Przedszkole
Malinaa
Witam,
w pliku config zdefiniowałem ścieżki:

// Sciezka glowna
define('DOCROOT', realpath(dirname(__FILE__)).DIRECTORY_SEPARATOR);
// Sciezka
define('PATHROOT', './');

i wszystko było by ok gdyby tak DOCROOT chciał działać w każdym przypadku,
w każdym przypadku działa PATHROOT, ale zależnie od strony / podstrony,
w którym jest katalogu potrzebne jest ./, ../ , ../../ etc. - jakieś rozpoznanie.

Przykładowo strona znajduje się w katalogu:
- localhost/moja-strona.pl/ plik index.php - tutaj potrzebne jest $path = './';
kolejna podstrona tej strony znajduje się w katalogu:
- localhost/moja-strona.pl/podstrony/ plik polska.php - tutaj potrzebne jest $path = '../';
itd. dla katalogów wyżej ../../

Przy include bez problemu działa w każdym przypadku, np.
include(DOCROOT."includes/menu.php");
ale kiedy w kodzie strony mamy echo, np.
<link rel="stylesheet" type="text/css" href="<?php echo PATHROOT.'css/style.css'; ?>">
albo zwykły odnośnik <a href="<?php echo PATHROOT.'index.html'; ?>">Strona główna</a>
potrzebne jest już rozpoznanie czy ma być PATH = ./ czy ../
wymagany jest PATH inny dla strony /index.php i inny dla strony w katalogu /podstrony/polska.php

Może jest jakaś funkcja? W jaki sposób rozwiązać problem?
in5ane
Gdybyś miał wszystkie podstrony przekierowane na index.php i to on by rozporządzał wyświetlaniem podstron nie było problemu. A w takim wypadku nie wiesz, jak w configu ustawić ścieżkę, bo nie znasz poziomu zagłębienia. Nie wiem, czy nie musisz na początku każdego pliku definiować tą stałą. Kombinuj.
Malinaa
Napisałem funkcje, która określa ścieżkę, ale zastanawiam się jak to jest robione standardowo.
Jak zdefiniować, przekierować i jak rozmieścić pliki w katalogu głównym domeny?
Jak powinienem zdefiniować ścieżkę główną $path dla include i echo (plików i linków w kodzie php i na stronie html)?
Chyba najlepiej w postaci ścieżki (względnej?) ./ ../ ../../ ponieważ w ten sposób działa w każdym przypadku,
po otworzeniu strony w przeglądarce bez względu czy includuje ($path w kodzie php), czy wyświetlam echo ($path na stronie html)?
Prośba o pomoc i instrukcje.
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.