Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] usuwanie katalogu wraz z danymi
piotrekk
post 4.02.2009, 17:23:22
Post #1





Grupa: Zarejestrowani
Postów: 123
Pomógł: 2
Dołączył: 13.11.2006

Ostrzeżenie: (0%)
-----


Witam,
mam pytanie. Chce stworzyć funkcję usuwającą folder wraz z danymi w wewnątrz. W manualu przeczytałem, że rmdir nie usuwa pełnych katalgów. W jaki inny sposób mogę to zrobić ? np. ftp_rmdir ?

thx
Go to the top of the page
+Quote Post
phpion
post 4.02.2009, 17:28:35
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Najpierw usuń pliki w nim zawarte (unlink" title="Zobacz w manualu PHP" target="_manual), a potem sam katalog (rmdir" title="Zobacz w manualu PHP" target="_manual). Najlepiej skorzystaj z rekurencji w razie gdyby znalazły się w nim jeszcze podkatalogi. NIe sprawdzałem ale pewnie na php.net jest już przygotowana odpowiednia funkcja w komentarzach do funkcji.
Go to the top of the page
+Quote Post
baxik20
post 5.02.2009, 21:34:06
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 31.10.2008

Ostrzeżenie: (0%)
-----


Ja zamiast bawić się z rekurencją wykorzystałem systemową komende rm -fr nazwa katalogu

  1. <?php
  2. @exec ("rm -fr "  .$file );
  3. ?>
Go to the top of the page
+Quote Post
piotrekk
post 6.02.2009, 09:11:39
Post #4





Grupa: Zarejestrowani
Postów: 123
Pomógł: 2
Dołączył: 13.11.2006

Ostrzeżenie: (0%)
-----


a ja zrobiłem to tak:

  1. <?php
  2. if(file_exists($path))
  3. {
  4.    foreach (new DirectoryIterator($path) as $file) {
  5.        if (true === $file->isFile()) {
  6.            unlink($file->getPathName());
  7.        }
  8.    }
  9.    rmdir($path);
  10.    header("Location: ../grupy.php");
  11.    exit;
  12. }
  13. ?>


pozdr
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 17.06.2025 - 19:57