Вообщем появился такой вопрос как удалить папку с файлами ? Искал в гугле нашел но под тебя переделать не смог ! Нужно чтобы удалялась вот эта папка - ../images/smileys/user/$name
[оффтоп]
я не могу не кинуть ссылку
http://forum.php.su/topic.php? ... =4778
[/оффтоп]
Шикарная ссылка, прочитал с удовольствием.
<?php
// функция получает в качестве параметра путь к папке, которую надо удалить
function deleteDirectory($dir) { // сначала проверим а есть ли такая папка вообще
if (!file_exists($dir)) return true; // если параметром передан путь к файлу а не папка, удаляем файл и возвращаем результат удаления
if (!is_dir($dir) || is_link($dir)) return unlink($dir); // если все таки передан не файл, а папка, обрабатываем ее содержимое
foreach (scandir($dir) as $item) { // проверяем каждый элемент (как файлы так и папки) папки
if ($item == '.' || $item == '..') continue; // пропускаем ненужные вещи
if (!deleteDirectory($dir . "/" . $item)) { // вызываем рекурсивно deleteDirectory() передав теперь в качестве параметра путь к обрабатываемому элементу
chmod($dir . "/" . $item, 0777); // если удаление не удалось, меняем права доступа к файлу/папке
if (!deleteDirectory($dir . "/" . $item)) return false;// если и теперь удаелние не удалось, выходим из рекурсии
};
}
return rmdir($dir); // удаляем папку
}
?>
Krite (03.04.2012/02:13)
[php]
<?php
// функция получает в качестве параметра путь к папке, которую надо удалить
function deleteDirectory($dir) { // сначала проверим а есть ли такая папка вообще
if (!file_exists(
А как сделать чтобы $dir = ../images/smileys/user/$name
Fenix_61 (03.04.2012/06:32)
А как сделать чтобы $dir = ../images/smileys/user/$name
$dir = '../images/smileys/user/' . $name;
deleteDirectory($dir);
где нужно делай визов функции
$dir='../images/smileys/user/'.$name;
deleteDirectory($dir);
Блин с помощью кода взятого с 4мас'а :
function RemoveDir($path)
{
if(file_exists($path) && is_dir($path))
{
$dirHandle = opendir($path);
while (false !== ($file = readdir($dirHandle)))
{
if ($file!='.' && $file!='..')
{
$tmpPath=$path.'/'.$file;
chmod($tmpPath, 0777);
if (is_dir($tmpPath))
{
RemoveDir($tmpPath);
}else{
if(file_exists($tmpPath)){
unlink($tmpPath); }
}
}
}
closedir($dirHandle);
if(file_exists($path)){
rmdir($path); }
}
}
$path='../images/smileys/user/' . $name;
RemoveDir($path);
снесло папку user ! Как исправить код ?
Fenix_61, $name не передал, потому и снесло