Время для прочтения: 0 мин. 0 сек.

Для вставки кода используйте HTML-теги
<pre><code class="php">ваш код</code></pre>

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

20 комментариев

по хронологии
по рейтингу сначала новые по хронологии

Спасибо за идею, но у меня эта функция не сработала так, как хотелось бы. Я немного подкорректировал функцию и вызов. Теперь она удаляет указанную папку со всеми подпапками и файлами:

function removeDir($path) {

return is_file($path)?

@unlink($path):

array_map('removeDir',glob($path."/*"))==@rmdir($path);

}

// Пример вызова

$path = $_SERVER['DOCUMENT_ROOT'].'/test';

removeDir($path);

Сергей

Не работает. Не удаляет самую верхнюю директорию. Вот рабочий пример

function removeDirectory($dir) {

if ($objs = glob($dir."/*")) {

foreach($objs as $obj) {

is_dir($obj) ? removeDirectory($obj) : unlink($obj);

}

}

rmdir($dir);

}

Автор
Кобзарёв Михаил

Да, вы правы - так будет лучше. Поправил в статье.

А если removeDir в классе определять? Как указывать первый параметр array_map?

Автор
Кобзарёв Михаил

Все достаточно просто

array_map(array($this, 'removeDir'), glob(...))

Вы не правы насчет не используются цикла как рас используются вы применяется callback функцию что рекурсивно вызывается на каждое значение массива

Автор
Кобзарёв Михаил

Визуально в коде нет ни одного цикла. Код читается проще. О внутреннем устройстве функций РНР речи не идет.

А можете объяснить нубу почему эта функция у меня ругается на фигурные скобки в условии, а если их удалить, то начинает ругаться на собаку?

Автор
Кобзарёв Михаил

Текст ошибки в студию!

А, да всё... Я решил проблему - не использую этот скрипт. Всё равно там же используется скрипт создания субдомена через cPanel. Я его немного дописал и он ещё и папки теперь удаляет.

Автор
Кобзарёв Михаил

То есть ошибку не покажите?

Ну он пишет "неожиданный '{' на N строке" и тоже самое с @

Автор
Кобзарёв Михаил

Понятно

в стоке 2 не хватает скобки

if (is_file($path) {

вот и ошибка

Автор
Кобзарёв Михаил

Спасибо, поправил

Вообще чувак cPanel дописывает, такой фигни не заметил =) гы.

Автор
Кобзарёв Михаил

Есть такое дело 🙂

Спасибо, пригодилось

Автор
Кобзарёв Михаил

Да, пожалуйста )))

Denis Kompaneets

серврере ложится надо что-то полегче


Service Temporarily Unavailable
The server closed the connection without sending any data.
The server is temporarily unable to service your request due to maintenance downtime or capacity problems.
Due to heavy load on the server, connections may be temporarily blocked from locations that fetch an unusually high number of pages.
We apologize for the inconvenience.