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

时间:2013-10-19 05:28:19

标签: php post mkdir rmdir

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

 files/New\\\\

现在,我不能删除这个为我的生命...... 我发现另一个帖子说我需要使用

 rmdir();

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

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

任何想法的人?

2 个答案:

答案 0 :(得分:3)

Quick'n'dirty脚本:

$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 :(得分:1)

<强> 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\\\\\\\\\\\\\\\\");      

<强> 2

您是否尝试过使用php重命名该文件夹?喜欢,所以

<强> PHP

$oldname = '../files/New\\\\';

$newname = '../files/please';

rename($oldname, $newname);