删除public_html中的特殊命名文件夹

时间:2013-10-08 12:57:10

标签: php

我是php的新手

我已经在public_html上传了所有文件和文件夹以生活我的网站,我不知道服务器中有什么问题,但{cn}命名文件夹是在我的所有public_html中自动创建的,例如css ,js,admin,admin的js在每个文件夹中都有一个名为PaxHeader的文件夹,所以我想制作一个脚本来删除所有PaxHeader的文件夹,但基本上我是一名设计师。所以我只知道几个PHP代码。任何bodody帮助我

我的文件夹结构如下:

public_html

此结构只是示例, -public_html -PaxHeader -js -PaxHeader -css -PaxHeader -admin -PaxHeader -js -PaxHeader -css -PaxHeader 文件夹位于PaxHeader的每个文件夹中,而evry public_html文件夹中有一些文件,我如何通过PaxHeader的脚本删除?

2 个答案:

答案 0 :(得分:1)

我为你写了一个简单的PHP代码。

$basepath = "/home/mohsen/Desktop/public_html/";
$dirNameToRemove = "PaxHeader";

function findAndRemove($path)
{
    global $dirNameToRemove;

    $items = scandir($path);

    foreach($items as $item)
    {
        if(!is_dir($path . $item) || $item == '.' || $item == '..')
            continue;

        if($item == $dirNameToRemove)
        {
            #remove directory
            rmdir($path . $item);
        }
        else
        {
            findAndRemove($path . $item . "/");
        }
    }
}

findAndRemove($basepath);

$ basepath变量是public_html目录的基本路径 $ dirNameToRemove变量是要递归删除的目录的名称。

享受它!

答案 1 :(得分:0)

你需要写那样的东西(未经测试)

function deleteDir($dirPath) {
    if (substr($dirPath, strlen($dirPath) - 1, 1) != '/') {
        $dirPath .= '/';
    }
    $files = glob($dirPath . '*', GLOB_MARK);
    foreach ($files as $file) {
        if (is_dir($file)) {
            self::deleteDir($file);
        } else {
            unlink($file);
        }
    }
    rmdir($dirPath);
}
    function removepaxdir($path)  {
    $dir=opendir($path);
    while ($FileName=readdir($dir))
    {
    if(is_dir($FileName))
    {
    if($FileName=='PaxHeader') deleteDir($path.$FileName);
    else removepaxdir($path.$FileName);
    }
    }
}    

removepaxdir('.');