Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zmiana danych, po przejściu do innego katalogu.
darophp
post 19.03.2010, 13:06:34
Post #1





Grupa: Zarejestrowani
Postów: 309
Pomógł: 20
Dołączył: 13.02.2010
Skąd: Kęty

Ostrzeżenie: (0%)
-----


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 ?


--------------------
Fotografia, projektowanie stron WWW | web-coding.pl - HTML 5 i CSS 3 - już w krótce ;)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
phpion
post 19.03.2010, 13:18:55
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




set_include_path i zawsze podawaj linki/link.php.
Go to the top of the page
+Quote Post
darophp
post 19.03.2010, 13:37:58
Post #3





Grupa: Zarejestrowani
Postów: 309
Pomógł: 20
Dołączył: 13.02.2010
Skąd: Kęty

Ostrzeżenie: (0%)
-----


1. Nic mi się nie wyświetla.
2. Czy przypadkiem to nie odnosi się tylko do katalogów ?


--------------------
Fotografia, projektowanie stron WWW | web-coding.pl - HTML 5 i CSS 3 - już w krótce ;)
Go to the top of the page
+Quote Post
phpion
post 19.03.2010, 13:39:50
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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ąć.
Go to the top of the page
+Quote Post
darophp
post 19.03.2010, 13:45:13
Post #5





Grupa: Zarejestrowani
Postów: 309
Pomógł: 20
Dołączył: 13.02.2010
Skąd: Kęty

Ostrzeżenie: (0%)
-----


- 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

Ten post edytował darophp 19.03.2010, 13:46:47


--------------------
Fotografia, projektowanie stron WWW | web-coding.pl - HTML 5 i CSS 3 - już w krótce ;)
Go to the top of the page
+Quote Post
phpion
post 19.03.2010, 14:09:31
Post #6





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




  1. $path = '/sciezka/do/katalogu/glownego/w/ktorym/beda/pliki/do/zaincludowania';
  2. set_include_path(get_include_path().PATH_SEPARATOR.$path);
Go to the top of the page
+Quote Post
jaslanin
post 19.03.2010, 14:10:06
Post #7





Grupa: Zarejestrowani
Postów: 511
Pomógł: 143
Dołączył: 13.03.2010
Skąd: Jasło

Ostrzeżenie: (0%)
-----


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ą

Ten post edytował jaslanin 19.03.2010, 14:11:03


--------------------
Good luck and happy PHP'ing
Go to the top of the page
+Quote Post
celbarowicz
post 19.03.2010, 15:55:39
Post #8





Grupa: Zarejestrowani
Postów: 253
Pomógł: 31
Dołączył: 30.03.2009
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


za pomocą sesji możesz ustalić jaki plik ma być dołączony np: $_SESSION['napis']='podstrony/celbar.php';
include $_SESSION['napis'];
Go to the top of the page
+Quote Post
darophp
post 19.03.2010, 20:03:48
Post #9





Grupa: Zarejestrowani
Postów: 309
Pomógł: 20
Dołączył: 13.02.2010
Skąd: Kęty

Ostrzeżenie: (0%)
-----


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)


--------------------
Fotografia, projektowanie stron WWW | web-coding.pl - HTML 5 i CSS 3 - już w krótce ;)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 17:49