Удалить каталог с сервера, который содержит обратную косую черту (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);