prune_super_cache()
Хуков нет.
Возвращает
null
. Ничего (null).
Использование
prune_super_cache( $directory, $force, $rename );
- $directory (обязательный)
- -
- $force **
- -
По умолчанию: false - $rename **
- -
По умолчанию: false
Код prune_super_cache() prune super cache WPSCache 1.12.4
function prune_super_cache( $directory, $force = false, $rename = false ) { // Don't prune a NULL/empty directory. if ( null === $directory || '' === $directory ) { wp_cache_debug( 'prune_super_cache: directory is blank' ); return false; } global $cache_max_time, $cache_path, $blog_cache_dir; static $log = 0; static $protected_directories = ''; $dir = $directory; $directory = wpsc_get_realpath( $directory ); if ( $directory == '' ) { wp_cache_debug( "prune_super_cache: exiting as file/directory does not exist : $dir" ); return false; } if ( ! wpsc_is_in_cache_directory( $directory ) ) { wp_cache_debug( "prune_super_cache: exiting as directory is not in cache path: *$directory* (was $dir before realpath)" ); return false; } if ( false == @file_exists( $directory ) ) { wp_cache_debug( "prune_super_cache: exiting as file/dir does not exist: $directory" ); return $log; } if ( ! isset( $cache_max_time ) ) { $cache_max_time = 3600; } $now = time(); if ( $protected_directories == '' ) { $protected_directories = wpsc_get_protected_directories(); } if ( is_dir( $directory ) ) { if ( $dh = @opendir( $directory ) ) { $directory = trailingslashit( $directory ); while ( ( $entry = @readdir( $dh ) ) !== false ) { if ( $entry == '.' || $entry == '..' ) { continue; } $entry = $directory . $entry; prune_super_cache( $entry, $force, $rename ); // If entry is a directory, AND it's not a protected one, AND we're either forcing the delete, OR the file is out of date, if ( is_dir( $entry ) && ! in_array( $entry, $protected_directories ) && ( $force || @filemtime( $entry ) + $cache_max_time <= $now ) ) { $donotdelete = false; // if the directory isn't empty can't delete it if ( $handle = @opendir( $entry ) ) { while ( ! $donotdelete && ( $file = @readdir( $handle ) ) !== false ) { if ( $file == '.' || $file == '..' ) { continue; } $donotdelete = true; wp_cache_debug( "gc: could not delete $entry as it's not empty: $file", 2 ); } closedir( $handle ); } if ( $donotdelete ) { continue; } if ( ! $rename ) { @rmdir( $entry ); ++$log; if ( $force ) { wp_cache_debug( "gc: deleted $entry, forced delete", 2 ); } else { wp_cache_debug( "gc: deleted $entry, older than $cache_max_time seconds", 2 ); } } } elseif ( in_array( $entry, $protected_directories ) ) { wp_cache_debug( "gc: could not delete $entry as it's protected.", 2 ); } } closedir( $dh ); } } elseif ( is_file( $directory ) && ( $force || @filemtime( $directory ) + $cache_max_time <= $now ) ) { $oktodelete = true; if ( in_array( $directory, $protected_directories ) ) { wp_cache_debug( "gc: could not delete $directory as it's protected.", 2 ); $oktodelete = false; } if ( $oktodelete && ! $rename ) { wp_cache_debug( "prune_super_cache: deleted $directory", 5 ); @unlink( $directory ); ++$log; } elseif ( $oktodelete && $rename ) { wp_cache_debug( "prune_super_cache: wp_cache_rebuild_or_delete( $directory )", 5 ); wp_cache_rebuild_or_delete( $directory ); ++$log; } else { wp_cache_debug( "prune_super_cache: did not delete file: $directory" ); } } else { wp_cache_debug( "prune_super_cache: did not delete file as it wasn't a directory or file and not forced to delete new file: $directory" ); } return $log; }