2

我是php新手

我已经将所有文件和文件夹上传public_html到我的网站中,我不知道服务器中有什么问题,但是PaxHeader命名文件夹是在我的所有 public_html 中自动创建的,就像在每个文件夹中的 css、js、admin、admin 的 js 中一样文件夹命名PaxHeader,所以我想制作一个脚本来从所有文件夹中删除该文件夹,public_html但基本上我是一名设计师。所以我只知道很少的php代码。任何人都可以帮助我

我的文件夹结构如下:

           -public_html
              -PaxHeader
              -js
                -PaxHeader 
              -css
                 -PaxHeader
              -admin
                 -PaxHeader
                 -js
                   -PaxHeader
                 -css
                   -PaxHeader

这种结构只是示例,PaxHeader文件夹在每个文件夹中,public_html并且每个文件PaxHeader夹都有一些文件,我如何通过脚本删除php

4

2 回答 2

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 变量是要递归删除的目录的名称。

好好享受!

于 2013-10-08T15:56:09.260 回答
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('.');
于 2013-10-08T14:22:56.163 回答