Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]usuwanie katalogów
Forum PHP.pl > Forum > Przedszkole
DR.GhostRider
Witam kolejne pytanko ,więc tak
mam już katalogi ,dodaje w nich zdjęcia itp
jak usunąć katalog z zawartością i jakie katalog ma prawe mi się za chole** nie chce założyć jako 0777 wiec nie wiem czy się usunie
Kildyt
Jak uprawnienia nie chcą się ustawić, to widocznie serwer ma zablokowaną tą funkcję.

rmdir" title="Zobacz w manualu PHP" target="_manual - usuwanie katalogu (musi być pusty!)
unlink" title="Zobacz w manualu PHP" target="_manual - usuwanie pliku

Do powyższych operacji folder i pliki muszą mieć stosowne uprawnienia.
Jak chcesz usunąć folder z całą zawartością to możesz skorzystać z scandir" title="Zobacz w manualu PHP" target="_manual. Wrzucasz do pętli, usuwasz po kolei zawartość folderu, a na końcu sam folder.
DR.GhostRider
  1. <?php
  2. function EmptyDir($dirName, $rmDir = false)
  3. {
  4.  if($dirHandle = opendir($dirName))
  5.  {
  6.    while(false !== ($dirFile = readdir($dirHandle)))
  7.      if ($dirFile != &#092;".\" && $dirFile != \"..\")
  8.        if(!unlink($dirName))
  9.          return false;
  10.    closedir($dirHandle);
  11.    if($rmDir)
  12.      if(!rmdir($dirName))
  13.        return false;
  14.    return true;
  15.  }
  16.  else
  17.    return false;
  18. }
  19.  
  20. function delete_folder($db,$id,$root){
  21. EmptyDir($root, true);
  22. $db->query('DELETE FROM galery_folders WHERE id_folder ='.intval($id).'');
  23. $db->query('DELETE FROM galery WHERE folder_id ='.intval($id).'');
  24. }
  25. ?>


Link do usuwania
Kod
<a onmouseover="this.T_WIDTH=116;return escape(\'Tak\');" href="./index.php?page=galery&p=delete_folder&id='.$w_1['id_folder'].'&folder_root='.$w_1['folder_root'].'" onclick="javascript:return confirm(\'Czy napewno chcesz usun&#261&#263 folder -  '.$w_1['tytul'].'\');">Usuń</a>


Więc mam problem przy usuwaniu jest taki


Warning: unlink(../uploads/gallery_48899/) [function.unlink]: Is a directory in /www/test/www/test/admin/Core/admin/galeria.php on line 302

W katalogu galery_48899 mam jeszcze Foldery Big i Mini a w nich zdjęcia i miniaturki , może to dlatego...

Funkcja emptydir nie jest moja

wiec nie wiem co jest ;/
Kildyt
Nie znasz angielskiego? Czytałeś kurs php? Wiesz co to manual? Nie rób sobie żartów.

Cytat(DR.GhostRider @ 8.03.2009, 21:16:59 ) *
Warning[/b]: unlink(../uploads/gallery_48899/) [http://www.ukskopernik.poznan.pl/nowy_uks/admin/function.unlink]: Is a directory in /www/test/www/test/admin/Core/admin/galeria.php on line [b]302
W wolnym tłumaczeniu: ../uploads/gallery_48899/ jest folderem. Przeczytaj uważnie mojego poprzedniego posta. Unlink używamy do plików, a rmdir, do katalogów.

Funkcja usuwająca katalog z zawartością to kilka linijek kodu. Proszę:
  1. <?php
  2.  
  3. $folder = '';
  4.  
  5. for ($i = 2, $to = scandir($folder); $i < $to; $i++)
  6. unlink($folder.'/'.$i);
  7.  
  8. rmdir($folder);
  9.  
  10. ?>
Nie testowałem, więc nie obiecuję, że działa poprawnie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.