/** * Use this function is recursive delete folder content * the output of RecursiveDelete(). */ function RecursiveDelete($sDirectory, $bIsEmpty = false) { if (substr($sDirectory, -1) == "/") { $sDirectory = substr($sDirectory, 0, -1); } if (!file_exists($sDirectory) || !is_dir($sDirectory)) { return false; } else { if (!is_readable($sDirectory)) { return false; } else { $stDirectoryHandle = opendir($sDirectory); while ($sContents = readdir($stDirectoryHandle)) { if ($sContents != '.' && $sContents != '..' && $sContents != '.htaccess') { $sPath = $sDirectory . "/" . $sContents; if (is_dir($sPath)) { RecursiveDelete($sPath); } else { unlink($sPath); } } } closedir($stDirectoryHandle); if ($bIsEmpty == false) { if (!rmdir($sDirectory)) { return false; } } return true; } } }
function RecursiveDelete($num) { global $table; $query = "SELECT num FROM {$table} WHERE ancestor='{$num}'"; $result = mysql_query($query); if (mysql_num_rows($result) == 0) { return; } /* end of recursive call */ while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { $n = $line['num']; $query = "DELETE FROM {$table} WHERE num={$n}"; $newresult = mysql_query($query); RecursiveDelete($n); } }