Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmiana danych, po przejściu do innego katalogu.
Forum PHP.pl > Forum > PHP
darophp
Witam,
mam pytanie. Nie wiem jak to zdefiniować. Potrzebuję zrobić coś takiego, że jak wejdę w jakaś podstronę (katalog) to zmienią się też dane. Może da się cos takiego zrobić na przykładzie:
  1. if
Np. mam w headerze include na index.php
  1. <?php include("/linki/link.php"); ?>
a jak przejdę na podstronę np. /portfolio to include zmieni się na:
  1. <?php include("../linki/link.php"); ?>


Da się coś takiego zrobić, jeśli nie if to czym ?
phpion
set_include_path i zawsze podawaj linki/link.php.
darophp
1. Nic mi się nie wyświetla.
2. Czy przypadkiem to nie odnosi się tylko do katalogów ?
phpion
Pokaż jak to ustawiłeś, jaką masz strukturę katalogów i jak includujesz pliki. Najpewniejszym rozwiązaniem byłoby podawanie ścieżki bezwzględnej do plików, ale pewnie chciałbyś tego uniknąć.
darophp
- admin
  - 1.php
  - 2.php <-- tu znajduje się kod (ten poniżej)
- omnie <-- tu powinien być wyświetlony ten kod
- portfolio <-- tu powinien być wyświetlony ten kod
- kontaktt <-- tu powinien być wyświetlony ten kod
i jeszcze parę innych

Kod:
  1. ini_set("include_path", "linki/znajomi/link.php");


W każdym katalogu (omnie, portfolio ...) jest include do 2.php
phpion
  1. $path = '/sciezka/do/katalogu/glownego/w/ktorym/beda/pliki/do/zaincludowania';
  2. set_include_path(get_include_path().PATH_SEPARATOR.$path);
jaslanin
moje rozwiązania:

-plik index.php który by includował resztę elementów twojej strony portfolio kontakt itd, a ten plik /linki/link.php byłby includowany w index.php (index.php byłby w tym przypadku routerem)
-ścieżka bezwzględna

-
  1. if (file_exists('admin/inc.php'))
  2. include 'admin/inc.php';
  3. else
  4. include '../admin/inc.php';

ale to rozwiązanie niebędące dobrą praktyką programistyczną
celbarowicz
za pomocą sesji możesz ustalić jaki plik ma być dołączony np: $_SESSION['napis']='podstrony/celbar.php';
include $_SESSION['napis'];
darophp
Cytat(phpion @ 19.03.2010, 14:09:31 ) *
  1. $path = '/sciezka/do/katalogu/glownego/w/ktorym/beda/pliki/do/zaincludowania';
  2. set_include_path(get_include_path().PATH_SEPARATOR.$path);


Nawet jesli to nic nie wyświetla (mam 4 pliki w tym katalogu)
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.