function deletefiles($directory)
{
$folder = glob($directory); // <--error on this line.
foreach($folder as $file)
{
if(is_dir($file))
{
deletefiles($directory);
}
else
{
unlink($file);
}
}
if(is_dir($directory))
{
rmdir($directory);
}
}
这就是导致错误的代码。该函数用于删除指定文件夹的所有文件和子目录。每个文件夹最多只能包含5个子文件夹。当文件夹中只有文件时,此函数起作用。任何见解都将不胜感激。
发布于 2012-08-22 03:47:51
有两个地方需要修复。
function deletefiles($directory)
{
$folder = glob($directory . '/*'); // <-- here
foreach($folder as $file)
{
if(is_dir($file))
{
deletefiles($file); // <-- and here
}
else
{
unlink($file);
}
}
if(is_dir($directory))
{
rmdir($directory);
}
}
发布于 2012-08-22 03:46:09
看起来你使用$directory
而不是$file
发送函数请求,这意味着你正在钻研结构,你只是在同一文件夹中多次调用相同的函数。
我认为您想要将第一个if
部分更改为:
if(is_dir($file))
{
deletefiles($file);
}
https://stackoverflow.com/questions/12066017
复制相似问题