![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 27.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam taki problem:
Mam klasę "userStats" w folderze inc, którą ładuje w index.php. Ona zaś ładuje plik accesArr.php z folder db. Wszystko ok, tylko jeżeli załaduję plik accesArr.php z prawidłową scieżką, to dostaję w zamian fatal error, podczas gdy jak ładuję z innego pliku, to wszystko działa.
Układ folderów wygląda następująco index.php /inc userStats.class.php /db accessArr.php /administration panel.php (z tego pliku działa pierwsza wesja) Być może źle rozumuje, ale wydaję mi się że gdy plik jest dołączany, to powinien się ładować względem bezpośredniego pliku który go ładuje, a nie jeszcze wcześniejszego. Szukałem w internecie, ale niestety nic nie znalazłem. z góry dzięki za pomoc |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 8 Dołączył: 19.05.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Pełna treść błędu wskazuje pewnie na linijkę kodu, w której błąd wystąpił. Bez tego to tu nikt nic chyba nie podpowie.
Poza tym do względnych ścieżek możesz użyć dirname(__FILE__) Ten post edytował Burned 17.02.2010, 00:29:25 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
funkcja
załącza kod zawarty we wskazanym pliku, a nie przekierowuje do niego, tak więc skoro ładujesz pliki do index.php to ścieżki muszą być względem pliku index.php. W Twoim przypadku to nie plik usersStats.class.php ładuje accessArr.php tylko cały czas index.php, Ty tylko załączyłeś kod z pliku usersStats.class.php do pliku index.php |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 27.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
a to dziwne. bo ja tak samo ładuję pliki w innej klasie i jeżeli by to tak działało to nie powinno mi działać to w tamtym pliku
![]() ![]() Czyli pierwszy plik ładuje za scieżką "inc/jakasklasa.class.php", a potem w pliku "jakasklasa,class.php" ładuj plik też z folderu inc to nie używam scieżki "inc/jakasklasa2.class.php", tylko "jakasklasa2.class.php" Co do linijki w którym błąd występuje to mi właśnie w miejscu require_once wywala że w pliku userStats nie udało się załadować pliku accessArr.php, ponieważ on nie istnieje. a to treść błędu: Warning: require_once(../db/accessArr.php) [function.require-once]: failed to open stream: No such file or directory in C:\Dokumenty\php\inc\userStats.class.php on line 4 Fatal error: require_once() [function.require]: Failed opening required '../db/accessArr.php' (include_path='.;C:\php5\pear') in C:\Dokumenty\php\inc\userStats.class.php on line 4 Ten post edytował piotrek4team 17.02.2010, 16:26:59 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
no rzeczywiści zrobiłem test i działają u mnie 2 ścieżki: względem pliku index.php i względem tego drugiego pliku, który jest ładowany. Więc w takim razie nie rozumiem na czym polega Twój problem? błąd, który się pojawia oznacza, że nie znaleziono pliku.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 27.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
no właśnie. jeżeli dam tak:
to wczyta poprawnie iFile.class.php, a on jest adresowany względem pliku userStats.class.php, a nie index.php. Czyli tamto odpada ![]() macie jeszcze jakieś pomysły? bo ja nie mam pojęcia ;D dodam jeszcze, że dla kodu: oba pliki zwrócą "C:\Dokumenty\php\inc", a tylko na jednym potem dostaję błąd //edit zrobiłem tak, że włożyłem folder db to folderu inc i teraz wszystko działa ![]() Ten post edytował piotrek4team 17.02.2010, 19:43:12 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Ty to testujesz na serwerze, czy na swoim kompie?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 27.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
oba pliki zwrócą "C:\Dokumenty\php\inc", a tylko na jednym potem dostaję błąd
no czyli na kompie. zaraz wrzuce na serwer i zobacze co bedzie ![]() //edit na serwerze działa normalnie ![]() ![]() Ten post edytował piotrek4team 17.02.2010, 21:57:07 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 04:42 |