Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Rewriterules i problem z ładowaniem skryptów z podkatalogu
Forum PHP.pl > Forum > PHP
livinghatret
Witam,

Napotkałem problem z widocznością zmiennych z skryptach ładowanych include(); gdy używam rewriterules. Problem wygląda następująco:

Podstawowe skrypty strony trzymam w "public_html". Ze względu na to, że mam sporo skryptów dodatkowych, używanych we wszystkich podstawowych skryptach, umieściłem je w katalogu "public_html/scripts".

Napisałem rewriterules w taki sposób:

  1. www.domena.com/jakikolwiek-tekst/skrypt_podstawowy.php -> ./skrypt_podstawowy.php


W skrypcie podstawowym ładuję skrypt dodatkowy przez include().

I teraz jest problem, bo gdy użyję include w taki sposób: "include('./scripts/skrypt_dodatkowy.php');" to szuka tego skryptu po url'em: www.domena.com/jakikolwiek-tekst/scripts/skrypt_podstawowy.php

Wszystkie skrypty działają na kilku domenach "com", "pl", "fr", "de" itp. Zdeklarowałem więc w skrypcie podstawowym zmienną, która zawiera adres domeny: $domena='www.domena.com/' (lub w przypadku innych domen narodowych, będzie to odpowiednio "domena.fr" lub "domena.de".

Dzięki temu, skrypt podstawowy robi:
  1. include('www.domena.fr/scripts/skrypt_dodatkowy');

zamiast
  1. include('./jakis-tekst/scripts/skrypt_dodatkowy');



No i pojawił się problem, bo nie widzę żadnej zmiennej w skryptach dodatkowych, ładowanych przez include() i odwrotnie: w skryptach podstawowych nie widzę zmiennych deklarowanych w skryptach dodatkowych.

Czyli serwer pewnie traktuje to jako wykonanie kodu z innego serwera i "globalnośc" zmiennych nie ma w tym przypadku znaczenia.

Ma ktoś jakiś pomysł co z tym zrobic?

crackcomm
Kod
include('/scripts/skrypt_dodatkowy.php');

Nie jestem pewien.
livinghatret

Działa! smile.gif
Dzięki wielkie!

Zastanawia mnie tylko, skąd ta różnica? Ciekawe jak od strony serwera wygląda wywołanie: "./katalog/cośtam.gif" w porównaniu z "/katalog/cośtam.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.