Maison >développement back-end >tutoriel php > php递归复制文件和目录,该如何解决

php递归复制文件和目录,该如何解决

WBOY
WBOYoriginal
2016-06-13 13:48:28847parcourir

php递归复制文件和目录
 function del($path){
$handle = opendir($path);
readdir($handle);
readdir($handle); while(false !== ($file = readdir($handle))){
$file = $path."/".$file;

if(is_dir($file)){
del($file);
}else{
if(unlink($file)){
echo "文件".$file."成功"."\r\n";
}else{
echo "文件".$file."失败"."\r\n";
}
}
}
closedir($handle);
if(rmdir($path)){
echo "目录".$path."删除成功"."\r\n";
}else{
echo "目录".$path."删除失败"."\r\n";
}

}

del('d:/123');
 
?>

为什么用两次readdir($handle);?求解,详细点,用一次为什么出错?



------解决方案--------------------
一个目录下有两个特殊目录 . 和 .. ,代表本目录和上级目录,这两个readdir($handle)就是把这个两特殊目录读取后不用来跳过,这样才能正确操作指定目录下的文件和子目录的。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn