2013-03-06 9 views
5

Jak przejść do góry o jeden folder od ścieżki bezwzględnej?Przenieś w górę na folderze z absolutnej ścieżki

struktura pliku:

/folder/ 
/folder/config.php 
/folder/classes/test.php 

Od test.php Chcę include_once lub require_once z -file config.php.

Próbowałem to w test.php, ale to nie działa:

require_once(dirname(__FILE__) . '/../config.php'); 

Komunikat o błędzie: * PHP Fatal error: require_once(): failed Otwarcie wymagane „/ loooong-path/klasy /../ test.php '*

+1

Witam, "To nie działa" nigdy nie jest dobrym opisem błędu. Czy możesz dodać trochę szczegółów - co się dzieje i jaki błąd otrzymujesz? Wydaje się, że próbujesz dołączyć 'test.php' z' test.php', co nie ma sensu? –

+0

Oczywiście, przepraszam za to. Zaktualizowałem mój post. – Robert

+0

@Robert: Wypróbuj moją odpowiedź, działa dla mnie –

Odpowiedz

9

można spróbować:

require_once(realpath(__DIR__ . '/../config.php')); 

nie testowane, ale teoretycznie jest to ma działać.

+0

To działało jak czar! Ktoś, kto ma pojęcie, dlaczego nie działa zwykły sposób włączenia/require_once? – Robert

+1

Zachowuje się tak samo jak 2 powyżej, ale powinieneś wspomnieć, że działa od wersji 5.3.x, ale jeśli jest dostępna dla ciebie, wolałbym takie podejście. –

+0

Miałem pewne problemy z tym wczoraj i to było, ponieważ ścieżka nie była w mojej includePath. @KeesSchepers liczba serwerów z wersją niższą niż 5,2 jest minimalna, dlatego założyłem, że wersja PHP to 5.e.x i nie wspomniałem o tym. Dzięki za wskazówkę! –

0

Spróbuj tego:

require_once(dirname(__FILE__).'../config.php'); 
2

Dlaczego po prostu nie

require_once('../config.php'); 
+0

Otrzymaj następujący komunikat o błędzie: PHP Błąd krytyczny: require_once(): Nieudane otwarcie wymagało "../config.php" Jestem przyzwyczajony do tego, jak opisujesz, ale jakoś to robi nie działa. – Robert

+0

Jaki jest powód Nie znaleziono lub Odmowa uprawnień? –

0

require_once(dirname(__FILE__) . '/../config.php');