我有一个小项目,我正在工作,有一点问题。我有一个名为"actions"的目录,在这个文件夹中我有一个名为"remove.php"的PHP文件。
我试图做到这一点,所以当我调用"remove.php"文件从外部的"动作"文件夹,文件夹"动作"与所有内容一起被删除。但似乎不能让它工作,因为我调用做删除的文件是在"动作"目录内。
我很想调用一个文件来销毁它自己和它的父目录。
这可能吗?我正在用PHP编程。
提前感谢您的帮助。
这是我的"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";
?>
在基于unix的系统上:当然。使用rmdir
和unlink
。Windows系统倾向于锁定当前打开的文件,所以这可能不起作用(尽管我不能确定)。
当然,你的web服务器需要对文件夹有完全的写权限,以及对它的父文件夹。
这里有几个问题。首先,您需要确保脚本具有删除文件和文件夹所需的足够访问权限。之后,我在代码中看到的问题是您试图删除文件夹的方式。rmdir
可以删除空文件夹,所以你需要清空一个文件夹,然后再删除它。它通常以递归的方式完成。然而,让文件自己删除是一个坏主意。