2013-03-01 1 views
0

У меня есть файл в upload/project1/update.unlink or rmdir cant remove folder.only удалить файл в папке

проблема в том, что удаляются только файлы в обновлении. Я хочу удалить каталог в папке upload ... thats mean, имя папки 'project1' и 'update' также удалить после удаления файлов в update.can u указывает на ошибки для меня ??

$id = $_GET['id']; 
$filename = $_GET['filename']; //gets the file name eg:update.zip 
$fname = $_GET['fname']; //gets the folder name eg: project1 
$upload = "upload/"; 

$name = explode(".", $filename); 
$folder = $fname."/".$name[0]; 

$files = glob($upload.$folder.'/*'); // get all file names 
foreach($files as $file) 
{ // iterate files 
if(is_file($file)) 
unlink($file); // delete file dlm folder 

} 

closedir($name[0]); //close update dir 
rmdir($name[0]); //remove update dir 

это кодирование не дают предупреждение

Предупреждение: closedir() ожидает параметр 1, чтобы быть ресурсом,

Предупреждение: RmDir (обновление) [function.rmdir]: Нет такого файла или каталога ..

но в каталоге загрузите этот файл project1/update.

также, имя файла - «update.zip» - это просто имя в базе данных только ... не в каталоге.

+0

Путь к каталогу, который должен быть открыт. Вы открыли свой каталог? используя для ex: '$ dh = opendir ($ dir)'. – Prabu

+0

по-прежнему нужно открыть каталог после использования glob для получения файла? – user2122473

ответ

0

Вы не можете closedir() в каталоге, который ранее не был открыт (и сохранен в дескрипторе файла) с помощью функции PHP opendir(). Если вы хотите, чтобы closedir() вам нужно было открыть файл-дескриптор этого каталога, сначала используйте opendir(). Это руководство по PHP: http://php.net/manual/en/function.closedir.php

Кроме того, если вы хотите, чтобы каталог rmdir() был полностью пуст, вам необходимы соответствующие разрешения. В противном случае вы получите ошибки. Это также относится к руководству PHP: http://php.net/manual/en/function.rmdir.php

+0

все еще получают предупреждение .. только файлы в папке 'update' удаляются. – user2122473

+0

Итак 'update' является подкаталогом' upload/project1'? – L0j1k

+0

да ... я хочу удалить файл в папке upload – user2122473