从包含反斜杠 (PHP) 的服务器中删除目录


Remove directory from server that contains backslashes (PHP)

在我学习PHP中mkdir();函数的路上,我在服务器上创建了一个文件夹,路径如下

 files/New''''

现在,我一辈子都不能删除它...我发现了另一个帖子,说我需要使用

 rmdir();

并用更多的反斜杠来逃避反斜杠...

不用说,我无法让这个工作...我不知道PHP在帖子中添加了斜杠。 我知道从现在开始我应该使用stripslashes();但现在,我被两个不可删除的文件夹困住了。

伙计们有什么想法吗?

Quick'n'dirty script:

$filename = glob('../files/*');
foreach($filename as $file) {
    print "'". $file. "' ";
    if(strstr($file,'New')) {
        if(is_file($file)) {
            unlink($file);
        }
    }
}
foreach($filename as $file) {
    if(strstr($file,'New')) {
        r_rmdir($file);
    }
}
function r_rmdir($dir) {
   if (is_dir($dir)) {
     $objects = scandir($dir);
     foreach ($objects as $object) {
       if ($object != "." && $object != "..") {
         if (filetype($dir."/".$object) == "dir") r_rmdir($dir."/".$object); else unlink($dir."/".$object);
       }
     }
     reset($objects);
     rmdir($dir);
   }

}

1.

这应该删除

您为两个目录创建的所有文件夹和文件,只需运行此脚本,它应该完全删除它们

.PHP

rmdir("../files/New''''/thumbnail");
rmdir("../files/New''''");
$filename = glob('../files/New''''''''''''''''/*');
foreach($filename as $file) {
    if(is_file($file)) {
        unlink($file);
    }
}
rmdir("../files/New''''''''''''''''/thumbnail");
rmdir("../files/New''''''''''''''''");      

阿拉伯数字。

您是否尝试过使用 php 重命名文件夹?这样

.PHP

$oldname = '../files/New''''';
$newname = '../files/please';
rename($oldname, $newname);