php刪除目錄 刪除文件保留目錄
阿新 • • 發佈:2017-09-04
指定 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刪除目錄 刪除文件保留目錄