12458 skanuj0177 (8)

12458 skanuj0177 (8)



Rozdział 7. ♦ System plików 189

Nazwa katalogu, którego zawartość chcemy odczytać, podobnie jak w poprzednich przykładach, została zapisana w zmiennej di r. Tablica przechowująca dane — arr —jest tworzona za pomocą fhnkcji array (por. rozdział 4., sekcja „Tablice”). Sposób otwarcia katalogu jest taki sam, jak w przykładzie z listingu 7.1, wykorzystywana jest w tym celu funkcja opendi r. Odczyt zawartości odbywa się w pętli whi 1 e za pomocą funkcji readdi r. Każda odczytana przez tą funkcję nazwa jest zapisywana w zmiennej f i 1 e, a następnie dopisywana na końcu tablicy arr. Tym samym, po zakończeniu działania pętli (które następuje, kiedy wywołanie readdir zwróci wartość false), w tablicy arr znajdą się nazwy wszystkich plików i podkatalogów zawartych w katalogu wskazywanym przez di r.

Kiedy pętla zakończy działanie, katalog jest zamykany za pomocą funkcji closedir, natomiast tablica jest sortowana w porządku leksykograficznym rosnącym przy użyciu funkcji sort. W przypadku gdyby porządek miał być malejący, należy zamiast wywołania sort($arr) zastosować wywołanie rsort(Sarr). Po wykonaniu sortowania zawartość tablicy jest wyświetlana na ekranie za pomocą instrukcji echo, wywoływanej w pętli foreach.

Tworzenie i usuwanie katalogów

Z poziomu PHP można również tworzyć oraz usuwać katalogi. Do tworzenia katalogów służy funkcja mkdi r, której schematyczne wywołanie ma postać: mkdi r('nazwa'i. tryb])

gdzie parametr nazwa określa nazwę katalogu, natomiast parametr tryb prawa dostępu. Parametr tryb jest opcjonalny (począwszy od PHP 4.2.0) i przyjmuje wartość domyślną 777 (oktalnie). Wartość tego parametru ma znaczenie jedynie w przypadku systemów z rodziny Uniksa, jest natomiast ignorowana w systemach z rodziny Windows. Argument nazwa może określać zarówno względną, jak i bezwzględną ścieżkę dostępu. Jeżeli nie ma określenia ścieżki, nowy katalog zostanie utworzony w katalogu bieżącym. Należy pamiętać, że katalog zostanie utworzony jedynie wtedy, gdy zostaną odpowiednio ustawione prawa dostępu. Funkcja mkdi r zwraca wartość true, jeżeli utworzenie katalogu zakończyło się sukcesem, lub wartość fal se — w przeciwnym wypadku.

Do usuwania katalogów służy funkcja rmdir. Nazwę katalogu do usunięcia należy jej przekazać w postaci argumentu. Schematyczne wywołanie tej funkcji ma zatem postać:

rmdirC nazwa')

Funkcja rmdir zwraca wartość true, jeżeli procedura usuwania katalogu zakończyła się sukcesem, lub wartość false — w przeciwnym wypadku. Usuwany katalog musi być pusty, tzn. nie może zawierać żadnych elementów.

Zmiana katalogu bieżącego

W celu zmiany katalogu bieżącego jest wykorzystywana funkcja chdi r, której w postaci argumentu należy przekazać nazwę nowego katalogu bieżącego. Wywołanie tej funkcji ma postać:

chdir('nazwa')


Wyszukiwarka

Podobne podstrony:

skanuj0175 (8) Rozdział 7. ♦ System plików 187 Rysunek 7.1. Efekt działania skryptu wyświetlającego

więcej podobnych podstron