有時候我們需要用PHP來刪除文件和文件夾,PHP本來也都有函數可以實現,下面簡單記錄一下代碼,方便以後信守拈來。先看一下代碼
<? function deldir($dir) { //先刪除目錄下的文件: $dh=opendir($dir); while ($file=readdir($dh)) { if($file!="." && $file!="..") { $fullpath=$dir."/".$file; if(!is_dir($fullpath)) { unlink($fullpath); } else { deldir($fullpath); } } } closedir($dh); //刪除當前文件夾: if(rmdir($dir)) { return true; } else { return false; } } ?>
unlink() 函數用於刪除文件。若成功,則返回 true,失敗則返回 false。rmdir() 函數用於刪除空的目錄。它嘗試刪除 dir 所指定的目錄。 該目錄必須是空的,而且要有相應的權限。
一個實例:刪除某個文件夾下的所有".svn"文件夾(包括其內容也要被刪除)。
<?php function delsvn($dir) { $dh=opendir($dir); //找出所有".svn" 的文件夾: while ($file=readdir($dh)) { if($file!="." && $file!="..") { $fullpath=$dir."/".$file; if(is_dir($fullpath)) { if($file==".svn"){ delsvndir($fullpath); }else{ delsvn($fullpath); } } } } closedir($dh); } function delsvndir($svndir){ //先刪除目錄下的文件: $dh=opendir($svndir); while($file=readdir($dh)){ if($file!="."&&$file!=".."){ $fullpath=$svndir."/".$file; if(is_dir($fullpath)){ delsvndir($fullpath); }else{ unlink($fullpath); } } } closedir($dh); //刪除目錄文件夾 if(rmdir($svndir)){ return true; }else{ return false; } } $dir=dirname(__FILE__); //echo $dir; delsvn($dir); ?>