Kasowanie folderu i jego zawartości przez PHP

Szybki hosting dla WordPressa

Poczta wybrana przez tysiące firm

Korzystając z serwera FTP, nie raz zdarzy nam się nie tylko tworzyć, ale także kasować jego zasoby, np. foldery. Kasowanie folderów to także przydatna funkcja wielu skryptów działających na hostingu i wykonujących różnego rodzaju zadania, czy to niezbędne do działania strony czy też np. zarządzania zasobami i kopiami bezpieczeństwa.

Domyślnie, kasowanie folderu najprościej wykonać logując się klientem FTP (np. Total Commander) do serwera FTP a następnie kasując wybrany zasób. Jeśli z jakiś powodów operacja ta nie jest możliwa do wykonania, lub oczekujemy automatyzacji procesu, poprzez dodanie odpowiedniego wpisu do skryptu, polecamy skorzystać z poniższej składni.

Jak usunąć pusty katalog bez żadnej zawartości?

Aby usunąć pusty folder/plik (niezawierający żadnych plików i innych podkatalogów) bezpośrednio na serwerze FTP, należy stworzyć plik o przykładowej nazwie “usun.php“. W jego zawartości wpisz poniższy fragment kodu (zmieniając nazwę folderu/pliku):

<?php
$katalog = 'home/pliki';
rmdir($katalog);
?>

Zmienna $katalog zawiera ścieżkę do katalogu, który chcemy usunąć.

Przygotowany w ten sposób plik “usun.php” należy umieścić w katalogu głównym serwera. Aby wskazany katalog, mógł zostać usunięty, wywołaj plik “usun.php” za pomocą przeglądarki WWW. W pasku adresu przeglądarki WWW wpisz adres z bezpośrednim wskazaniem na ten plik.
Przykład: http://nazwa_serwera.home.pl/usun.php

W ten sposób zostanie wykonana dyrektywa, która została zapisana w zawartości wywołanego pliku usun.php.

Jak usunąć katalog z zawartością (np. z plikami i/lub podkatalogami)?

W sytuacji, gdy zależy nam na trwałym skasowaniu danego katalogu, wraz z całą jego zawartością, możesz skorzystać z gotowej funkcji PHP (dokumentacja PHP). Gotową funkcję, która pozwoli wykonać zamierzoną operację znajduje się poniżej:

function removeDir($path) {
$dir = new DirectoryIterator($path);
foreach ($dir as $fileinfo) {
if ($fileinfo->isFile() || $fileinfo->isLink()) {
unlink($fileinfo->getPathName());
} elseif (!$fileinfo->isDot() && $fileinfo->isDir()) {
removeDir($fileinfo->getPathName());
}
}
rmdir($path);
}

Aby wywołać powyższą funkcję, należy w miejscu, w którym chcemy użyć funkcji, wpisać poniższy kod:

<?php
$katalog = 'home/pliki';
removeDir($katalog);
?>

Więcej rozwiązań

Hosting stworzony dla WordPressa

Masz stronę WWW na WordPressie? My też uwielbiamy ten system dla stron internetowych. Dlatego stworzyliśmy hosting specjalnie dla jego użytkowników.


Bezpieczny hosting dla Twojej strony WWW

Przygotowaliśmy miejsce, w którym Twoja strona WWW i poczta e-mail będą się czuły komfortowo.


Odbierz 25 zł do wydania na empik.com

Polecaj usługi home.pl i zdobywaj za każde polecenie kupon o wartości 25zł do wydania na empik.com

Zdobądź swój kupon na 25zł Sprawdź jak

  • Czy artykuł był pomocny ?
  • Tak   Nie