我正在做一个小项目,并且有一点问题。我有一个名为“actions”的目录,在这个文件夹里面我有一个名为“remove.php”的PHP文件。
我正试图这样做,当我从“actions”文件夹外面调用“remove.php”文件时,文件夹“actions”以及所有内容都将被删除。但似乎无法让它工作,因为我打电话要删除的文件位于“actions”目录中。
我非常希望调用一个文件来破坏它自己的父目录。
这可能吗?我正在用PHP BTW编程。
提前感谢您的帮助。
这是我的“remove.php”文件代码:
<?php
// Get parent folder
$parent = basename(dirname($_SERVER['PHP_SELF']));
// Loop through all files and folders, and remove them
foreach(glob($parent . '/*') as $file)
{
if(is_dir($file))
{
rmdir($file);
} else
{
unlink($file);
}
}
// Remove parent folder after all files have been deleted
rmdir($parent);
// Inform that folder has been deleted
echo "actions folder deleted";
?>
答案 0 :(得分:0)
在基于unix的系统上:绝对。使用rmdir
和unlink
。 Windows系统倾向于锁定当前打开的文件,因此这可能不起作用(虽然我无法确定)。
当然,您的网络服务器需要对该文件夹及其父文件夹具有完全写入权限。
答案 1 :(得分:0)
这里有一些问题。首先,您需要确保脚本具有删除文件和文件夹所需的足够访问权限。之后,我在代码中可以看到的问题是您尝试删除文件夹的方式。 rmdir
只能删除空文件夹,因此您需要在尝试删除文件夹之前清空该文件夹。它通常在recursive way中完成。然而,文件删除自己是一个坏主意。