Könyvtár törlése

lili_ képe

D5 alatt modult írok.

Egyes felhasználóknak lehetőséget biztosítok arra, hogy saját magáról képet töltsön fel
a "files/szemelyek/[id]" mappába, ahol id = egy egész szám méghozzá az adott személy id-ja
az adatbázisból kiszedve

pl: Teszt István id-ja 220, akkor Teszt István a

files/szemelyek/220 mappába tud magáról képet felcsatolni.

Lehetőség van egy-egy személy törlésére az adatbázisból, de ha törlök egy személy akkor
törlöm az adatbázisból a hozzá tartozó adatokat is, ugyanakkor szeretném törölni a hozzá tartozó összes képet ergo a files/szemelyek/220 -as nevezetű könyvtárat is szeretném
törölni.
kérdésem az hogy találkozott már valakivel olyan fügvénnyel ami töröl egy mappát?
csak akkor lehet egy mappát törölni ha már a kép file-ok is törlésre kerültek?
a file törlését megoldottam!

tolmi képe

http://hu2.php.net/manual/en/function.rmdir.php

Kommentekben találsz jól működő függvényeket amik ezt megvalósítják.

0
0

--
Tolmács Márk
Drupal bandita

lili_ képe

nézem de arra gondoltam h van drupal megfelelője is

pl: scandir ------------------- file_scan_directory, párhuzamosan szeretem nézni meg tanulni is
de ez tudom az én gondom...

0
0

mini

tolmi képe

Én nem tudok ilyenről. Egyébként is az lenne a logikus, hogy minden file-ra van referenciád a files táblában, így mikor kitörlöd azokat a referenciákat, töröld a fileokat is egyenként. Ezek után üres könyvtárad lesz, amit már tudsz törölni.

0
0

--
Tolmács Márk
Drupal bandita

lili_ képe

ha jobban elolvastad volna oda is írtam h a file törlésével nincsen gondom
csupán kerestem a drupal megfelelőjét a rmdir-nek.

function emberek_bizti_submit($form_id, $form_values){
 
$pp= emberek_pathvars("emberek/mappa/bizti/");
$wu=$pp[0];/*lekapja az id-t, ami egyben a mappa neve is lesz*/
$viasz="";
 
$g ="";
$g=sprintf("emberek/mappa/bizti/torles/%d",$wu);
 
 
$gz ="";
$gz=sprintf("emberek/abc/adatok/%d", $wu);
 
 
/*ebbe mentem le a kiválasztott gomb nevét,
ami most igen vagy nem lehet*/
$valasztas=$form_values["op"];
$kit=$form_values["idike"];
 
/*ha igen gombot nyomtuk meg akkor törölni kell*/
if($valasztas=="IGEN"){
 
$rr="";
 
 
$konyvtar = "files/szemelyek/";
/*
file_scan_directory
 
Megkeresi a dir-ben rekurzív hívással a maskban lévo fileket, kizárja a keresésbol a nomask-ban lévo könyvtárakat.
  A $callback változóban egy fügvénynevet lehet átadni, ezt a fügvényt végrehajtja minden file-re.*/
 
 
                              /*mi a mappa útja*/ /*milyen típusú file-okat vegyen figyelembe*/
$larges = file_scan_directory($konyvtar.$wu,     ".(png|jpeg|gif)");
 
 
foreach($larges as $kep){
 
/*ez adja vissza az éppen aktuális kép útvonalát*/
    $scr_nev  =  $kep->basename; 
   $utika=$konyvtar.$wu."/".$scr_nev;
  // $rr.=$utika;
  file_delete($utika);
 
 
} 
 
/*ez kitörli az adott személyhez tartozó és a fényképeit tartalmazó könyvtárát
feltéve ha a könyvtár üres*/
$gut="files/szemelyek/".$wu;
 
/*ez törli ki az adott útvonalon lévő mappát*/
rmdir($gut);
 
/*sikerült-e leharapni az id-t ?
ezt csak úgy tudom megnézni ha kiíratom*/
/*$ahha="";
$ahha.=$wu;*/
 
 
/*VISSZA A SZEMÉLYHEZ FONTOS*/
 
//$sze="A képek törlése megtörtént";
//$viasz.=$sze;
//$viasz.="<br/>";
//$viasz.="<br/>";
//$viasz.=l("Vissza a személyhez", sprintf("emberek/abc/adatok/%d", $wu));
 
 //return $viasz;
 
 return $g;
 
 
}

/*különben menjünk vissza a személyekhez*/
else return $gz;

}

0
0

mini

tolmi képe

Látom pp stílusa megfertőzött téged is :)

Egyébként mint írtam szerintem nincs ilyen a Drupalban, és hozzáfűztem hogy ne is csináld így amit szeretnél mert rossz stratégia. Szóval nem értem mi a gondod a válasszal...

0
0

--
Tolmács Márk
Drupal bandita

lili_ képe

azért raktam fel a kódrészletet h kész van illetve h így működik

0
0

mini

tolmi képe

Oké, ettől én még úgy vélem hogy ez rossz stratégia.

0
0

--
Tolmács Márk
Drupal bandita