php rmdir أو إلغاء ربط الملف من المجلد
سؤال
التعليمة البرمجية التالية تحذف الملفات الموجودة في مجلد uploads
.كيف يمكنني حذف المجلد أيضًا عندما ينقر المستخدم Delete Folder
(أو مشابه).
حاولت استخدام rmdir
لكنني لا أتلقى أخطاء في ملف move.php الفارغ فقط.
ما هي الطريقة الصحيحة/الموصى بها للقيام بذلك؟من فضلك النصيحة.
<?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"]);
?>
المحلول
فقط جرب شيئًا مثل هذا:
$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
}
لا تنتمي إلى StackOverflow