调用一个文件来销毁它自己及其父目录


Call upon a file to destroy itself along with its parent directory?

我有一个小项目,我正在工作,有一点问题。我有一个名为"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的系统上:当然。使用rmdirunlink。Windows系统倾向于锁定当前打开的文件,所以这可能不起作用(尽管我不能确定)。

当然,你的web服务器需要对文件夹有完全的写权限,以及对它的父文件夹。

这里有几个问题。首先,您需要确保脚本具有删除文件和文件夹所需的足够访问权限。之后,我在代码中看到的问题是您试图删除文件夹的方式。rmdir可以删除空文件夹,所以你需要清空一个文件夹,然后再删除它。它通常以递归的方式完成。然而,让文件自己删除是一个坏主意。