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?