ホームページ >バックエンド開発 >PHPチュートリアル >php递归复制文件和目录,该如何解决

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

WBOY
WBOYオリジナル
2016-06-13 10:10:13763ブラウズ

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)就是把这个两特殊目录读取后不用来跳过,这样才能正确操作指定目录下的文件和子目录的。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。