如何删除作为脚本启动的文件夹?

时间:2010-05-02 21:35:10

标签: php file filesystems directory

我在文件夹abc中有一个delete.php,所以我打电话给localhost/abc/delete.php。我希望能够在调用localhost/abc/delete.php时从服务器删除abc文件夹及其所有内容。怎么办这样的事情?

2 个答案:

答案 0 :(得分:1)

  

此功能删除目录   所有这些都是内容。第二个参数   是boolean来指示函数if   它应该删除目录或仅删除目录   内容


    function rmdir_r ( $dir, $DeleteMe = TRUE )
    {
        if ( ! $dh = @opendir ( $dir ) ) return;
        while ( false !== ( $obj = readdir ( $dh ) ) )
    {
    if ( $obj == '.' || $obj == '..') continue;
    if ( ! @unlink ( $dir . '/' . $obj ) ) rmdir_r ( $dir . '/' . $obj, true );
        }

    closedir ( $dh );
    if ( $DeleteMe )
        {
            @rmdir ( $dir );
        }
    }
//use like this:

rmdir_r( 'abc' );

  

答案 1 :(得分:0)

尝试这样的事情:

function deleteDir($dir) {
    if (!is_dir($dir)) return unlink($dir);
    foreach (scandir($dir) as $item) {
        if ($item == '.' || $item == '..') continue;
        if (!deleteDir($dir.'/'.$item)) return false;
    }
    return rmdir($dir);
}

$dir = substr($_SERVER['SCRIPT_FILENAME'], 0, strrpos($_SERVER['SCRIPT_FILENAME'], '/'));
deleteDir($dir);