Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Różne zachowanie include()
Forum PHP.pl > Forum > PHP
lolek09
Mam dwa pliki w tym samym katalogu:

index.php
  1. <?php
  2. include(./config.php);
  3. echo($VAR);
  4. ?>


config.php
  1. głupi text <br />
  2. <?php
  3. $VAR = &#092;"zawartość zmiennej\";
  4. ?>


W takiej postaci uzyskuję zamierzony efekt:
Kod
głupi text
zawartość zmiennej


Ale jeśli zmienię "./config.php" na "http://localhost/config.php" otrzymuję:
Kod
głupi text

Notice:  Undefined variable:  VAR in /var/www/index.php on line 3


Jak widać statyczna zawartość pliku config.php też jest włączana, ale nie wiem dlaczego nie ma zmiennej VAR. sad.gif

Proszę o pomoc.
zbig13
Includowany plik jest dołączany względem bieżącego katalogu, to znaczy jeśli mamy dwa pliki w katalogu pliki/, niech to będą pliki index.php i config.php, to wyrażenie:
  1. <?php
  2. include('./config.php');
  3. ?>
będzie szukało pliku w katalogu pliki/ (czyli poprawnie), natomiast:
  1. <?php
  2. include('http://localhost/config.php')
  3. ?>
będzie szukało pliku mniej więcej w takim katalogu: pliki/http://localhost/
lolek09
Ale plik jest mimo wszystko za każdym razem włączany (nie ma problemów z jego znalezieniem), require nie zgłasza błędów. Statyczna część włączanego pliku jest wyświetlana. Tylko zmienna nie działa sad.gif
MoD
wpisanie http://localhost/config.php ładuje ten plik tak jak byś go wywołał z przeglądarki, czyli kod się wykona i dostaniesz tylko wynik. To tak jak byś próbował odczytać kod np. Allegro. Dostaniesz wynik a nie źródła.
lolek09
Dzięki smile.gif Teraz się wydaje oczywiste tongue.gif
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.