Witam,
mam problem z usunięciem (poprzez ftp) katalogów, które zawierają podkatalogi i pliki. Są to pozostałości po instalacji Joomla!. Baza danych jest wyczyszczona.
Mam skrypt, który usuwa pojedyncze pliki, lecz jest ich parę tysięcy, więc odpada.
---------------
  1. <?php
  2. $del=$_GET['del'];
  3. // $sciezka=$_GET['sciezka'];
  4. if (unlink('./katalog/plik))
  5. {
  6. echo "plik usuniety";
  7. }
  8. else
  9. {
  10. echo "plik nie usuniety ;(";
  11. }
  12. ?>

--------------------
Czy ktoś mógłby pomóc w dostosowaniu tego skryptu?
Tego poniżej nie mogę użyć ponieważ w haśle jest znak "@" i niestety dostaje komunikat o nieoczekiwanym pojawieniu się tego znaku. Natomiast nie mogę zmienić hasła. No czas idzie taki, że mało kto pewnie siedzi przy kompie?smile.gif

  1. <?php
  2. $plik = 'public_html/old.txt';
  3.  
  4. // nawiązanie połączenia
  5. $conn_id = ftp_connect($ftp_server);
  6.  
  7. // logowanie
  8. $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
  9.  
  10. // próba usunięcia $plik
  11. if (ftp_delete($conn_id, $plik)) {
  12. echo "Plik $plik został usunięty\n";
  13. } else {
  14. echo "Nie powiodła się próba usunięcia pliku $plik\n";
  15. }
  16.  
  17. // zamknięcie połączenia
  18. ftp_close($conn_id);
  19. ?>


Byłbym wdzięczny za pomoc.


No to sam sobie odpowiem, ponieważ znalazłem rozwiązanie i może komuś się przyda:

  1. <?php
  2. function delete_directory($dirname) {
  3. if (is_dir($dirname))
  4. $dir_handle = opendir($dirname);
  5. if (!$dir_handle)
  6. return false;
  7. while($file = readdir($dir_handle)) {
  8. if ($file != "." && $file != "..") {
  9. if (!is_dir($dirname."/".$file))
  10. unlink($dirname."/".$file);
  11. else
  12. delete_directory($dirname.'/'.$file);
  13. }
  14. }
  15. closedir($dir_handle);
  16. rmdir($dirname);
  17. return true;
  18. }
  19.  
  20. delete_directory('nazwa_katalogu');
  21. ?>