jeg er lidt i tvivl om den skal være på siden eller den skal ligge i en klasse, den sletter alle undermapper og filer men sletter altså ikke selve hovedmappen og den skulle gerne slettes også
jeg får følgende fejlmeddelse
Warning: rmdir() [function.rmdir]: Unable to access ../../kunder/hejsa in /var/www/websmeden.eu/test/cms/content/kundeadmin/redigerKunde.php on line 175
switch ($_GET[sorter]) { case "navn": $sql = "SELECT * FROM cms_kunder WHERE brugerid = '$_SESSION[brugerid]' ORDER BY navn DESC"; break; case "adresse": $sql = "SELECT * FROM cms_kunder WHERE brugerid = '$_SESSION[brugerid]' ORDER BY adresse DESC"; break; case "postnr": $sql = "SELECT * FROM cms_kunder WHERE brugerid = '$_SESSION[brugerid]' ORDER BY postnr DESC"; break; case "by": $sql = "SELECT * FROM cms_kunder WHERE brugerid = '$_SESSION[brugerid]' ORDER BY bynavn DESC"; break; case "mail": $sql = "SELECT * FROM cms_kunder WHERE brugerid = '$_SESSION[brugerid]' ORDER BY mail DESC"; break; case "tlf": $sql = "SELECT * FROM cms_kunder WHERE brugerid = '$_SESSION[brugerid]' ORDER BY tlf DESC"; break; default: $sql = "SELECT * FROM cms_kunder WHERE brugerid = '$_SESSION[brugerid]' ORDER BY kundeid DESC"; break; }
echo "<br /><span class='mainHeader'>Kunde er nu slette fra databasen</span>"; }} if ($_GET[trin]==2) { echo "det virker sku trin 2"; echo "<td><a href='redigerKunde.php?trin=' class='topTable'>Retur til tabellen</td>"; echo "<td><a href='opretKunde.php?trin=3' class='topTable'>Trin 3</td>";
//Fortryd bare en lille funktion så man kan fortryde trin 3 }if ($_GET[trin]==3) {?> <span class="mainHeader"">Bekræfte sletning kunde</span><br /><br /> <? $id = $_GET[kundeid]; $foresp = mysql_query("SELECT * FROM cms_kunder WHERE kundeid = '$id'"); $data = mysql_fetch_array($foresp)?>
<?include("../../include/round1_start_b.php");?>
<span class="topTable">Her skal du bekræftige at du vil slette nedenstående kunde </span> <br /><br /><span class="mainHeaderBig""><?echo ucfirst($data[navn])?></span> <br /><?echo ucfirst($data[adresse])?> <br /><?echo $data[postnr]?> <?echo $data[bynavn]?> <br /><?echo $data[tlf]?> <br /><?echo $data[mail]?> <br /><br />Hvis du er helt sikker på at du vil slette kunden skal du nu trykke på slet, og kunden vil blive slettet permanent <br />Du skal være opmærksom på at du også sletter alle felter i databasen samt fjerne mapperne på serveren.</td>
<? include('../../function/conection.php'); if ($_GET[trin]==4) {
//Her henete jeg fra databae så jeg ved havd mappenavnet er $sql = mysql_query("SELECT mappe FROM cms_kunder WHERE kundeid = '$id'"); $data = mysql_fetch_array($sql) ;
function RecurseDelete($foldername) { if (file_exists($foldername)) { chmod($foldername, 0777); chdir($foldername); $dirhandle = opendir('.'); while ($file = readdir($dirhandle)) { if ($file != "." && $file != "..") { if (is_dir($file)) { RecurseDelete($file); } else { if (unlink($file)) echo "<span class='mainHeader'>Filen \"$file\" er blevet slettet!</span><br>"; else echo "<span class='mainHeader'>Problemer med at slette filen \"$file\"!</span><br>"; } } } closedir($dirhandle); chdir('..'); if (rmdir($foldername)) echo "<span class='mainHeader'>Biblioteket \"$foldername\" er blevet slettet!</span><br>"; else echo "<span class='mainHeader'>Problemer med at slette biblioteket \"$foldername\"!</span><br>"; } else { echo "<span class='mainHeader'>Filen/mappen $foldername eksisterer ikke!</span>"; } }
Jeg har også i roden en mappe der hedder kunder og i den generere jeg nogle nye mapper og filer dynamisk med et php script og det er disse mapper der skal fjernes. men jeg tror nu at stiebne er i orden for alle underliggende mapper og filer bliver slettet
mappestrukturen er som følger Inde i kunder ligger jeg
kundenavn (skal indeholde alle kunder) i kundemappen ligger jeg hver gange der oprettes en kunde, 4 andre mapper og to filer ind, i den ene af de mapper liggerjeg 4 filer ind. cmod på alle mapper er 755
Men alle dissse mapper slettes på nær den første og det kan jeg ikke forstå
Prøv evt. en anden slette funktion, denne er fundet på dk.php.net/unlink
<?php // ggarciaa at gmail dot com (04-July-2007 01:57) // I needed to empty a directory, but keeping it // so I slightly modified the contribution from // stefano at takys dot it (28-Dec-2005 11:57) // A short but powerfull recursive function // that works also if the dirs contain hidden files // // $dir = the target directory // $DeleteMe = if true delete also $dir, if false leave it alone
function SureRemoveDir($dir, $DeleteMe) { if(!$dh = @opendir($dir)) return; while (false !== ($obj = readdir($dh))) { if($obj=='.' || $obj=='..') continue; if (!@unlink($dir.'/'.$obj)) SureRemoveDir($dir.'/'.$obj, true); }
Når du skriver det ikke virker, hvordan virker ikke? Kommer der fejl eller sletter den bare ikke indholdet/mapperne ?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.