Maison > Article > développement back-end > PHP删除非空目录的三种方法(代码分享)_PHP教程
有了这个小程序,PHPer就不用手动进行删除计算机上的目录文件了,在练习PHP目录文件操作时就可以用这个函数,在这个基础上还可以增加浏览文件夹目录,然后进行删除。
代码一:
<?<span php </span><span //</span><span 删除非空目录</span> <span function</span> d_rmdir(<span $dirname</span><span ) { </span><span if</span>(!<span is_dir</span>(<span $dirname</span><span )) { </span><span return</span> <span false</span><span ; } </span><span $handle</span> = @<span opendir</span>(<span $dirname</span><span ); </span><span while</span>((<span $file</span> = @<span readdir</span>(<span $handle</span>)) !== <span false</span><span ){ </span><span if</span>(<span $file</span> != '.' && <span $file</span> != '..'<span ){ </span><span $dir</span> = <span $dirname</span> . '/' . <span $file</span><span ; </span><span is_dir</span>(<span $dir</span>) ? d_rmdir(<span $dir</span>) : <span unlink</span>(<span $dir</span><span ); } } </span><span closedir</span>(<span $handle</span><span ); </span><span return</span> <span rmdir</span>(<span $dirname</span><span ) ; } </span><span if</span>(d_rmdir("./temp"<span )) </span><span echo</span> "succes"<span ; </span><span else</span> <span echo</span> "false"<span ; </span><span //</span><span by www.jbxue.com</span> ?>
代码二,来自php中文在线手册:
<?<span php </span><span //</span><span 删除非空目录 //by www.jbxue.com</span> functionremove_directory(<span $dir</span><span ){ </span><span if</span>(<span $handle</span>=<span opendir</span>("<span $dir</span>"<span )){ </span><span while</span>(<span false</span>!==(<span $item</span>=<span readdir</span>(<span $handle</span><span ))){ </span><span if</span>(<span $item</span>!="."&&<span $item</span>!=".."<span ){ </span><span if</span>(<span is_dir</span>("<span $dir</span>/<span $item</span>"<span )){ remove_directory(</span>"<span $dir</span>/<span $item</span>"<span ); }</span><span else</span><span { </span><span unlink</span>("<span $dir</span>/<span $item</span>"<span ); </span><span echo</span>"removing<span $dir</span>/<span $item</span><br> "<span ; } } } </span><span closedir</span>(<span $handle</span><span ); </span><span rmdir</span>(<span $dir</span><span ); </span><span echo</span>"removing<span $dir</span><br> "<span ; } } </span>?>
代码三:
<?<span php </span><span //</span><span 删除非空目录 //by www.jbxue.com</span> functionremoveDir(<span $dirName</span><span ) { </span><span if</span>(!<span is_dir</span>(<span $dirName</span><span )) { returnfalse; } </span><span $handle</span>=@<span opendir</span>(<span $dirName</span><span ); </span><span while</span>((<span $file</span>=@<span readdir</span>(<span $handle</span>))!==<span false</span><span ) { </span><span if</span>(<span $file</span>!='.'&&<span $file</span>!='..'<span ) { </span><span $dir</span>=<span $dirName</span>.'/'.<span $file</span><span ; </span><span is_dir</span>(<span $dir</span>)?removeDir(<span $dir</span>):@<span unlink</span>(<span $dir</span><span ); } } </span><span closedir</span>(<span $handle</span><span ); returnrmdir(</span><span $dirName</span><span ); } </span>?>