Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Plik z wcześniejszego katalogu
klapaucius
post
Post #1





Grupa: Zarejestrowani
Postów: 223
Pomógł: 3
Dołączył: 4.07.2009
Skąd: Kraków

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


Cześc! Chciałem się zapytać jednej rzeczy, mianowicie czy można zrobić coś takiego jak np zaincludować jakiś plik, który jest w "wyższym"(wcześniejszym) katalogu. Czyli jeśli np mamy plik www/strona/strona.php i chcemy zaincludować inny plik, który znajduje się w katalogu www to jak sie do niego odwołać? Wiem ze mozna by zrobic cos takiego jak np. include('www.adresstrony/www/pliczek_do_zaincludowania.php') ale wtedy nie bedzie to dość optymalne rozwiązanie, gdyż jeśli np adres strony się zmieni to nie będzie to już działało.
Proszę o pomoc. Pozdrawiam!

Ten post edytował klapaucius 15.01.2010, 20:26:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
neverever
post
Post #2





Grupa: Zarejestrowani
Postów: 278
Pomógł: 44
Dołączył: 17.02.2004
Skąd: Wieliczka

Ostrzeżenie: (10%)
X----


jeżeli jesteś pewien, że ścieżki są prawidłowe i plik includowany znajduje się faktycznie 2 katalogi wyżej
...to zgaduję - zagnieżdżenia, może system szablonów.

Z tymi zagnieżdżeniami to podam na przykładzie:

jest sobie taka struktura katalogowa począwszy od roota:

index.php
a/index1.php
a/b/index2.php

teraz robimy taki myk, że w pliku index1.php includujemy plik index2.php, który z kolei includuje plik index.php z katalogu głównego.

plik index.php
  1. echo 'udało się!';


plik index1.php
  1. include 'b/index2.php';


plik index2.php
  1. include '../../index.php';


Niby ścieżki się zgadzają ...a jednak nie działa?

Ano dzieje się tak, bo kod jest dołączany przed wykonaniem.
Czyli tutaj choć ścieżki wyglądają poprawnie, taka operacja się nie powiedzie ...bo błąd wywali include z pliku index2.php - to za sprawą punktu odniesienia. Plik ten jest bowiem wcześniej includowany do pliku katalog wyżej ...i ścieżka przestaje się z tego powodu zgadzać.

ale jak już poprawisz plik index2.php w taki sposób
  1. include '../index.php';
to zacznie działac.

Zgaduję, że tej sytuacji ma miejsce trochę podobna sytuacja. (IMG:style_emoticons/default/czarodziej.gif)



Go to the top of the page
+Quote Post
klapaucius
post
Post #3





Grupa: Zarejestrowani
Postów: 223
Pomógł: 3
Dołączył: 4.07.2009
Skąd: Kraków

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


Cytat(neverever @ 15.01.2010, 22:32:55 ) *
jeżeli jesteś pewien, że ścieżki są prawidłowe i plik includowany znajduje się faktycznie 2 katalogi wyżej
...to zgaduję - zagnieżdżenia, może system szablonów.

Z tymi zagnieżdżeniami to podam na przykładzie:

jest sobie taka struktura katalogowa począwszy od roota:

index.php
a/index1.php
a/b/index2.php

teraz robimy taki myk, że w pliku index1.php includujemy plik index2.php, który z kolei includuje plik index.php z katalogu głównego.

plik index.php
  1. echo 'udało się!';


plik index1.php
  1. include 'b/index2.php';


plik index2.php
  1. include '../../index.php';


Niby ścieżki się zgadzają ...a jednak nie działa?

Ano dzieje się tak, bo kod jest dołączany przed wykonaniem.
Czyli tutaj choć ścieżki wyglądają poprawnie, taka operacja się nie powiedzie ...bo błąd wywali include z pliku index2.php - to za sprawą punktu odniesienia. Plik ten jest bowiem wcześniej includowany do pliku katalog wyżej ...i ścieżka przestaje się z tego powodu zgadzać.

ale jak już poprawisz plik index2.php w taki sposób
  1. include '../index.php';
to zacznie działac.

Zgaduję, że tej sytuacji ma miejsce trochę podobna sytuacja. (IMG:style_emoticons/default/czarodziej.gif)

Hmm... No faktycznie ten mój plik layout.php, jest odpowiedzialny za szablon strony i jest on już includowany przez inny plik wcześniej i może dojść faktycznie do jakiejś kolizji. Ale siedzie nad tym sporo czasu i za cholere nie moge nic wymyślić zeby to jakos naprawic w moim przypadku... Tracę wogole juz nadzieje ze sie tak da zrobic... Czy mozna w mojej sytuacji wykombninowac cos? Bardzo prosze o pomoc!
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 16.10.2025 - 05:56