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ąć.
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ń
- Cykliczne uruchamianie – CRON
- Pakowanie i rozpakowywanie danych na serwerze
- Jak ręcznie zainstalować CMS WordPress na serwerze w home.pl?
- Jak przekierować domenę na podkatalog za pomocą .htaccess?