Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Masowae usuwanie plików i folderów, DirectoryIterator
deha21
post
Post #1





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

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


Witam,
Robię skrypt który masowo (przez zaznaczenie checkbox'ów) będzie usuwał/przenosił pliki i foldery. Wcześniej miałem kod który usuwa foldery wraz z plikami/folderami i pomyślałem, że teraz też go użyję ale niestety nie działa. Usuwa zaznaczone foldery ale przy plikach jest błąd. Oto kod:
  1. if (!empty($_POST['checkbox']) && isset($_POST['type'])){
  2.  
  3. if ($_POST['type']=='delete') {
  4.  
  5. function removeDir($path) {
  6. $dir = new DirectoryIterator($path);
  7. foreach ($dir as $fileinfo) {
  8. if ($fileinfo->isFile() || is_link($fileinfo)) {
  9. unlink($fileinfo->getPathName());
  10. } elseif (!$fileinfo->isDot() && $fileinfo->isDir()) {
  11. removeDir($fileinfo->getPathName());
  12. }
  13. }
  14. rmdir($path);
  15. }
  16.  
  17. foreach ($_POST['checkbox'] as $filesmass) {
  18. removeDir('../'.$directory.'/'.$filesmass);
  19. }
  20. }
  21. }


Błąd jaki wyskakuje to:
  1. Fatal error: Uncaught exception 'RuntimeException' with message 'DirectoryIterator::__construct(../files/krd.gif) [<a href='directoryiterator.--construct'>directoryiterator.--construct</a>]: failed to open dir: Not a directory' in /home/***/filesbrowser.php:201 Stack trace: #0 /home/***/filesbrowser.php(201): DirectoryIterator->__construct('../files/krd.gi...') #1 /home/***/filesbrowser.php(213): removeDir('../files/krd.gi...') #2 {main} thrown in /home/**/filesbrowser.php on line 201


Jak tak patrzę na ten skrypt to powinien tez usuwać pliki winksmiley.jpg Ale z tego co widze w błędzie musi to być folder. Więc jak przerobić kod żeby usuwał też pliki?

Pozdrawiam


--------------------
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 22.08.2025 - 03:34