Удалить каталог с сервера, который содержит обратную косую черту (PHP)

На моем пути к изучению mkdir(); функция в PHP, я создал папку на моем сервере с таким путем

 files/New\\\\

Теперь я не могу удалить это на всю жизнь... Я нашел еще один пост, который сказал, что мне нужно будет использовать

 rmdir();

и избежать обратной косой черты с помощью дополнительной обратной косой черты...

Само собой разумеется, я не могу заставить это работать... Я понятия не имел, что PHP добавил косые черты через сообщение. Я знаю, что отсюда я должен использовать stripslashes(); но пока я застрял с двумя не удаляемыми папками.

Есть идеи, ребята?

2 ответа

Решение

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.

Это должно удалить все папки и файлы, которые вы создали для обоих каталогов, просто запустите этот скрипт, и он должен удалить их обе полностью

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);
Другие вопросы по тегам