Reklama
Wizyt
Dzisiaj: 97Wszystkich: 652897

Operacje na katalogach

Technikum » PAI » Język PHP » Pliki i katalogi » Operacje na katalogach

 

Język PHP został wyposażony w cały zestaw funkcji, które umożliwiają wykonywanie różnych operacji na strukturze katalogów.
Za pomocą funkcji mkdir() można tworzyć nowe katalogi. Ma ona postać:


Argumentem funkcji jest nazwa tworzonego katalogu. Funkcja zwraca wartość true, jeżeli katalog został utworzony, lub wartość false, jeżeli katalogu nie udało się utworzyć.


Katalog usunąć można za pomocą funkcji rmdir(). Ma ona postać:


W wyniku wykonania funkcji zostanie usunięty katalog o nazwie podanej jako argument, pod warunkiem że jest on pusty. Funkcja zwraca wartość true, jeżeli katalog został usunięty, lub wartość false, jeżeli katalogu nie udało się usunąć.




Do otwierania katalogu służy funkcja opendir(), zapisana w postaci:


Funkcja zwraca deskryptor katalogu lub wartość false, jeżeli katalogu o podanej nazwie nie uda się otworzyć.




Do odczytu zawartości katalogu stosowana jest funkcja readdir(), zapisana w postaci:


Argumentem funkcji jest deskryptor uzyskany w wyniku wykonania funkcji opendir(). Każde wywołanie funkcji powoduje zwrócenie nazwy kolejnego elementu znajdującego się w katalogu. Po osiągnięciu końca katalogu funkcja zwróci wartość false.


Do zamykania katalogu służy funkcja closedir(), zapisana w postaci:



Funkcja nie zwraca żadnej wartości. Jeżeli nie zostanie użyta, zamknięcie katalogu następuje po zakończeniu działania skryptu. Jeżeli funkcja zostanie wywołana bez podania argumentu, zostanie zamknięty ostatnio otwarty katalog.


Przykład



W podanym przykładzie ustawiona została zmienna $katalog zawierająca nazwę katalogu, którego zawartość należy odczytać (w przykładzie jest to katalog bieżący). Następnie sprawdzana jest możliwość otwarcia katalogu i jeżeli operacja przebiegła pomyślnie, za pomocą pętli while wyświetlane są nazwy wszystkich elementów umieszczonych we wskazanym katalogu.




Do odczytu zawartości katalogu może również zostać wykorzystana funkcja scandir(), która pobiera zawartość całego katalogu i zapisuje ją w tablicy. Dodatkowo sortuje odczytane nazwy plików i folderów. Funkcja ma postać:


Przykład



Zarówno funkcja readdir(), jak i funkcja scandir(), odczytując zawartość wskazanego katalogu, nie rozróżnia w nim plików i podkatalogów.

 

 

Zadanie

 

  1. Napisz skrypt, który będzie odczytywał zawartość wskazanego katalogu.
  2. Zmodyfikuj skrypt z zadania nr 1 tak aby odczytane elementy podzielił na katalogi i pliki, i wyświetli je w kolejności: wszystkie katalogi, następnie wszystkie pliki. W skrypcie wykorzystaj funkcje is_file() oraz is_dir().




Reklama