Frage

Der folgende Code löscht die Dateien in einem Ordner uploads.Wie lösche ich auch den Ordner, wenn ein Benutzer darauf klickt? Delete Folder (o.ä).

Ich habe es mit versucht rmdir aber ich erhalte keine Fehlermeldungen, sondern nur eine leere Datei „move.php“.

Was ist die richtige/empfohlene Vorgehensweise?Bitte um Rat.

    <?php
    $actfolder = $_REQUEST['folder'];
    require_once("models/config.php");

    if(!securePage($_SERVER['PHP_SELF'])){
        die();
    }
    require("models/db-settings.php");

    if(isset($_GET['file'])){
        $filename = "uploads/$loggedInUser->username$actfolder/" . ltrim($_GET['file'], '/\\');
        // make sure only deleting a file in files/ directory
        if (dirname(realpath($filename)) == realpath("uploads/$loggedInUser->username$actfolder/")) {
            unlink($filename);
        }
    }
    header("Location:".$_SERVER["HTTP_REFERER"]);
?>
War es hilfreich?

Lösung

Versuchen Sie einfach so etwas:

$filename = "uploads/$loggedInUser->username$actfolder/";
if (is_dir($filename) === true)
    {
        $files = array_diff(scandir($filename), array('.', '..'));

        foreach ($files as $file)
        {
           unlink(realpath($filename) . '/' . $file);
        }

        rmdir($filename);  //remove directory
    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top