PHP RMDIR o un archivo de desvío de la carpeta
Pregunta
El siguiente código elimina los archivos en una carpeta uploads
. Cómo elimino la carpeta también cuando un usuario hace clic en Delete Folder
(o similar).
Intenté usar rmdir
, pero no estoy recibiendo errores solo en blanco Move.php File.
¿Cuál es la forma correcta / recomendada de hacerlo?Por favor consejo.
<?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"]);
?>
Solución
Solo prueba algo como esto:
$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
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow