【发布时间】:2013-03-01 06:50:47
【问题描述】:
我在 upload/project1/update 中有文件。
问题是,只有更新中的文件被删除。我想删除文件夹上传中的目录...也就是说,文件夹名称“project1”和“update”也会在更新中的文件被删除后删除。你能帮我找出错误吗??
$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(update) [function.rmdir]: No such file or directory..
但是在上传的目录中,有这个文件project1/update。
另外,文件名是“update.zip”只是数据库中的名称而已..不在目录中。
【问题讨论】:
-
要打开的目录路径。你打开你的目录了吗?使用例如:
$dh = opendir($dir). -
使用glob获取文件后还需要打开目录吗?