Esempio n. 1
0
/**
*  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;
        }
    }
}
Esempio n. 2
0
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);
    }
}