Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]usuwanie katalogów
DR.GhostRider
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 1
Dołączył: 27.01.2009

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


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Kildyt
post
Post #2





Grupa: Zarejestrowani
Postów: 869
Pomógł: 53
Dołączył: 20.10.2003
Skąd: Przeworsk

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


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.
Go to the top of the page
+Quote Post
DR.GhostRider
post
Post #3





Grupa: Zarejestrowani
Postów: 72
Pomógł: 1
Dołączył: 27.01.2009

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


  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 ;/

Ten post edytował DR.GhostRider 8.03.2009, 19:35:52
Go to the top of the page
+Quote Post
Kildyt
post
Post #4





Grupa: Zarejestrowani
Postów: 869
Pomógł: 53
Dołączył: 20.10.2003
Skąd: Przeworsk

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


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.

Ten post edytował Kildyt 8.03.2009, 21:25:27
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 13:48