1. 程式人生 > >php刪除目錄 刪除文件保留目錄

php刪除目錄 刪除文件保留目錄

指定 else opendir sta while lose and php intval

   //循環刪除目錄和文件函數   刪除目錄及目錄下所有文件
    public static function  delDirAndFile( $dirName )  {
        //var_dump(is_dir($dirName));exit;
        if ( $handle = opendir( "$dirName" ) ) {  
            while ( false !== ( $item = readdir( $handle ) ) ) {  
                if ( $item != "." && $item != ".." ) {  
                    
if ( is_dir( "$dirName/$item" ) ) { self::delDirAndFile( "$dirName/$item" ); //是路徑繼續遞歸 } else { unlink( "$dirName/$item" );//不是路徑刪除文件 目錄/目錄下的文件名帶後綴 //if( unlink( "$dirName/$item" ) )echo "成功刪除文件: $dirName/$item<br />\n";
} } } closedir( $handle ); rmdir( $dirName ); //if( rmdir( $dirName ) )echo "成功刪除目錄: $dirName<br />\n"; } } //循環目錄下的所有文件 僅刪除指定目錄下的文件,不刪除目錄文件夾 public static function delFileUnderDir( $dirName
,$now) { if ( $handle = opendir( "$dirName" ) ) { while ( false !== ( $item = readdir( $handle ) ) ) { if ( $item != "." && $item != ".." ) { if ( is_dir( "$dirName/$item" ) ) { self::delFileUnderDir( "$dirName/$item" ); } else { preg_match("/\d+/",$item,$matches); $time=$matches[0]; $difference=strtotime($now)-strtotime($time); $days = intval($difference/86400); $remain = $difference%86400; $hours = intval($remain/3600); if($hours>1 || $days>1 ){ unlink( "$dirName/$item"); } //if( unlink( "$dirName/$item" ) )echo "成功刪除文件: $dirName/$item<br />\n"; } } } closedir( $handle ); } }

php刪除目錄 刪除文件保留目錄