Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]include(); nie działa
Forum PHP.pl > Forum > Przedszkole
goukan
Mam plik header w którym jest includowane coś takiego:
  1. include('../widget/info.php');



Mam taką strukturę plików:
  1. strona główna

    • index.php w którym jest zadeklarowane include('../header.php'); (jako że jest to główny folder to pobiera header z tego samego folderu)
    • header.php w ktorym mam zadeklarowane include('../widget/info.php');
    • Folder forum
      • index.php w którym jest zadeklarowane include('../header.php'); (czyli powinno pobierać dane z header, poprzedniego folderu)

i teraz tak. Chciałbym, aby index.php z folderu Forum, pobierał header z poprzedniego folderu i co za tym idzie dodawał dodatkowo include z widgetem. Jednak tak się nie dzieję;/ Nie wiem czemu, ale nie działają mi własnie te kropki.
  1. include('../widget/info.php'); -- tak nie działa
  2. include('widget/info.php'); -- tak działa

Nie wiem czy zrozumiale się wyraziłem ;p

Aby to zmienić musiałem się ratować tym że cały folder z widgetami i header.php musiałem dać do folderu forum co mi nie pasuje bo to wiadomo, zżera pamięć

Aby to zmienić musiałem się ratować tym że cały folder z widgetami i header.php musiałem dać do folderu forum co mi nie pasuje bo to wiadomo, zżera pamięć
markonix
Polecam korzystać z ścieżek bezwzględnych i wtedy takie problemy nie występują wink.gif
goukan
to nie działa;/
moja ściezka bezwzględna to: /var/www/virtual/xxx.cba.pl/zzz.xxx.cba.pl/
robie tak: include('/var/www/virtual/xxx.cba.pl/zzz.xxx.cba.pl/header.php');

nawet nie czyta tych plików
ZaqU
Spróbuj:
  1. include( __DIR__ . '/../widget/info.php');
  2. // lub dla PHP <5.3:
  3. include( dirname(__FILE__) . '/../widget/info.php');
goukan
To też nie działa.. Nie rozumiem tego ;/
Sobak
@goukan: to oczywiste, że nie działa bo ścieżka do widget.php ma być podana względem pliku header.php - tego, który bezpośrednio dołącza widget.php. Według Twojego rozumowania plik widget.php powinien znajdować się poziom wyżej niż header.php, a tak najwidoczniej nie jest - nie da się stwierdzić jednoznacznie, bo podana struktura plików nie jest pełna.

Cytat
index.php w którym jest zadeklarowane include('../header.php'); (jako że jest to główny folder to pobiera header z tego samego folderu)

IMO bez sensu. Skoro dołączasz plik w tym samym katalogu, to po co odwołujesz się poziom wyżej? Będziesz miał problemy, np. wtedy, gdy na serwerze będziesz miał folder public_html, bo wyjdziesz o poziom za wysoko.
goukan
Musiałem dać w header taki zapis ../widget/info.php bo chciałbym, aby z pliku header korzystał również plik index z FOLDERU forum. I tam jeśli byłby wywołany header to żeby te widgety działały to musiałbym mieć folder widgetów w folderze forum bo jeśli jest ścieżka względna widget/info.php to będzie szukało plików tych w katalogu głwnym. Nie wiem czy mnie można zrozumieć..

  1. STRONA
    • index.php
    • hader.php
  2. widget
    • info.php
  3. forum
    • index.php - tu jest zadekladrowane ../header.php czyli powinno iść do STRONY i stamtąd czytać header, ale to niedziała ;/ muszę mieć bez kropek i co za tym idzie, header skopiowany dodatkowo do folderu forum tak samo widgets bo też nie działają includy z kropkami




Połączenie plików jakie chcę uzyskać:
  1. STRONA
    • index.php TEN(1)
    • dużo innych plików które powinny mieć połączenie z header.php TEN(1)
    • header.php Z TYM(1,2) TEN(3)
  2. widget
    • info.php Z TYM(3)
    • info.php dużo innych plików które są zadeklarowane w header.php na STRONIE
  3. forum
    • index.php TEN(2)
    • dużo innych plików które powinny mieć połączenie z header.php TEN(2)
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.