我是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
的脚本删除?
答案 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('.');