![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 249 Pomógł: 30 Dołączył: 18.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Potrzebowałem funkcji do wylistowania podkatalogów w obrębie pewnego katalogu. Skorzystałem z DirectoryIterator, sprawdzanie czy jest to katalog napisałem w ten sposób:
Dostałem błąd niezdefiniowanej funkcji DirectoryIterator::isDir(). Niestety jak mi później manual powiedział: Cytat (PHP 5 <= 5.1.1) , mam wersję 5.2.X PHP.Pytanie jest następujące, czy z czasem nie wyrzucą całkowicie tego iteratora z SPL? Chyba, że komuś są znane testy, że to było rozwiązanie wysoce nieoptymalne i dlatego porzucili tą metodę w bibliotece, to by wiele tłumaczyło. -------------------- Warsztat: Ubuntu 12.10, PHPStorm
http://vertoo.pl |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Przejrzyj changelog.
-------------------- Zapraszam na mój php blog, tworzenie stron.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 249 Pomógł: 30 Dołączył: 18.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Changelog nic nie mówi http://pl.php.net/ChangeLog-5.php, ani słowa o metodach, które zostały usunięte - po prostu wyparowały. Zresztą jak widzę z wersją PHP 5.1.2 wyparowało i kilka innych metod tego iteratora.
-------------------- Warsztat: Ubuntu 12.10, PHPStorm
http://vertoo.pl |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 7 Dołączył: 2.08.2006 Skąd: Bystrzyca Kłodzka/Nysa Ostrzeżenie: (10%) ![]() ![]() |
tego iteratora na pewno nie wyrzucili bo jedna z moich klas z niego korzysta.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 11 Dołączył: 2.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- $email = filter_var(filter_var($email, FILTER_SANITIZE_EMAIL), FILTER_VALIDATE_EMAIL);
if($email === false) { // Houston, we have a problem.... } |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
~jang co z Twojego posta wynika? Nic.
Jak masz pisać zbędne posty to nie pisz ich wcale. ~grzesiek_g pokaż kod. Może mas błąd. Z biblioteki SPL nic nie było usuwane, więc to nie problem z PHP. I zacytuj błąd, może źle go tłumaczysz. I gwoli ścisłości: Klasa DirectoryIterator nigdy nie posiadała funkcji isDir(). Funkcja ta pochodzi z klasy SplFileInfo, po której DirectoryIterator dziedziczy. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 249 Pomógł: 30 Dołączył: 18.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
@mike
Co nie zmienia faktu, że została usunięta. http://pl.php.net/manual/pl/function.Direc...rator-isDir.php. Kod przerobiłem już na wykorzystanie funkcji PHP is_dir(), błąd przetłumaczyłem dobrze niestety. Sprawdzałem i z metodą isDir() oraz !isFile(), poza tymi metodami wg manuala zniknęło jeszcze kilka. Nie rozumię działania deweloperów PHP, mam nadzieję, że przy kolejnej wersji nie zniknie całkowicie DirectoryIndex... @jang Nie rozumię o co chodzi w tych listingach. Chcesz mi pokazać, że PHP 5.2.X jest DirectoryIterator? Przeczytaj mój pierwszy post. Jak widzisz używam tam tego iteratora, ale w połączeniu z inną metodą. Ten post edytował grzesiek_g 9.12.2007, 18:10:14 -------------------- Warsztat: Ubuntu 12.10, PHPStorm
http://vertoo.pl |
|
|
![]()
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
@mike Co z kolei nie zmienia faktu ze poniższy kod, u mnie działa:Co nie zmienia faktu, że została usunięta. http://pl.php.net/manual/pl/function.Direc...rator-isDir.php. Mam 5.2.5 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 249 Pomógł: 30 Dołączył: 18.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
[@b]mike[b]
Masz rację, że działa. U mnie też to działa. Wniosek jest taki, że musiałem zrobić błąd w nazwie metody, najprawdopodobniej dałem "_" zamiast zapisu "wielbłądziego". Głupi błąd ... ![]() -------------------- Warsztat: Ubuntu 12.10, PHPStorm
http://vertoo.pl |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 43 Dołączył: 9.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
W manualu prawdopodobnie jest błąd odnośnie dostępności tej funkcji. Sprawdzałem czy jest dostępna (za pomocą get_class_methods) w PHP 5.1.6 i 5.2.5 i okazało się że ta metoda nie została usunięta
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 04:50 |