Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: aktualna ścieżka w klasie
Forum PHP.pl > Forum > PHP > Object-oriented programming
flashdev
Natrafiłem na pewien problem przy tworzeniu klasy.

Kiedy próbuję wykonywać operacje na plikach, wszystko jest ok. Jednak zaczynają się problemy kiedy chcę tego dokonać w destruktorze.
A mianowicie funckja getcwd() zwraca mi: 'E:\xampp' zamiast: 'E:\xampp\htdocs\mojastrona_pl\class'
Rozwiązanie problemu jakie przychodzi mi do głowy jest następujące:
1. W konstruktorze zapisać sobie do zmiennej wartość zwróconą przez getcwd i odpowiednio ją obrobić.
2. W destruktorze posługiwać się ścieżkami bezwzględnymi.

I teraz moje pytania:
a) Na serwerach ścieżki zaczynają się przeważnie od '/home/user/....'. Czy to rozwiązanie będzie działać tak samo na serwerze jak u mnie na localu?
b) Czy jest to jedyne sensowne rozwiązanie, czy może da się to zrobić lepiej?
darko
"obrobić" $_SERVER["SCRIPT_FILENAME"] ?
Crozin
Ad. 1) Przecież /home/... to ścieżka bezwzględna, więc o ile masz prawo do wykonania danego typu akcji w danym folderze to nie widzę żadnych problemów
Ad. 2) W sumie to... zależy
flashdev
Cytat(Crozin @ 8.12.2009, 21:50:10 ) *
[...]
Ad. 2) W sumie to... zależy


Czy można prosić o rozwinięcie? smile.gif
Crozin
Cytat
Czy można prosić o rozwinięcie?
To znaczy, że jeżeli taki sposób działa i nie ma możliwości zrobienia tego co chcesz inaczej to wtedy jest dobrze. Ale jeżeli da się to zrobić w jakiś "ładniejszy" sposób, np.: poprzez zrezygnowanie z destruktora na rzecz normalnej metody wywoływanej ręcznie/automatycznie czy niekorzystaniu z getcwd() to raczej lepiej jest to zrobić inaczej. winksmiley.jpg
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.