Determines whether the given file is a valid ZIP file.
Description
This function does not test to ensure that a file exists. Non-existent files are not valid ZIPs, so those will also return false.
Parameters
$file
stringrequired- Full path to the ZIP file.
Source
function wp_zip_file_is_valid( $file ) {
/** This filter is documented in wp-admin/includes/file.php */
if ( class_exists( 'ZipArchive', false ) && apply_filters( 'unzip_file_use_ziparchive', true ) ) {
$archive = new ZipArchive();
$archive_is_valid = $archive->open( $file, ZipArchive::CHECKCONS );
if ( true === $archive_is_valid ) {
$archive->close();
return true;
}
}
// Fall through to PclZip if ZipArchive is not available, or encountered an error opening the file.
require_once ABSPATH . 'wp-admin/includes/class-pclzip.php';
$archive = new PclZip( $file );
$archive_is_valid = is_array( $archive->properties() );
return $archive_is_valid;
}
Hooks
- apply_filters( ‘unzip_file_use_ziparchive’,
bool $ziparchive ) Filters whether to use ZipArchive to unzip archives.
Changelog
Version | Description |
---|---|
6.4.4 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.