wp_get_avif_info

The timeline below displays how wordpress function wp_get_avif_info has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.5

/**
 * Extracts meta information about an AVIF file: width, height, bit depth, and number of channels.
 *
 * @since 6.5.0
 *
 * @param string $filename Path to an AVIF file.
 * @return array {
 *    An array of AVIF image information.
 *
 *    @type int|false $width        Image width on success, false on failure.
 *    @type int|false $height       Image height on success, false on failure.
 *    @type int|false $bit_depth    Image bit depth on success, false on failure.
 *    @type int|false $num_channels Image number of channels on success, false on failure.
 * }
 */
function wp_get_avif_info($filename)
{
    $results = array('width' => false, 'height' => false, 'bit_depth' => false, 'num_channels' => false);
    if ('image/avif' !== wp_get_image_mime($filename)) {
        return $results;
    }
    // Parse the file using libavifinfo's PHP implementation.
    require_once ABSPATH . WPINC . '/class-avif-info.php';
    $handle = fopen($filename, 'rb');
    if ($handle) {
        $parser = new Avifinfo\Parser($handle);
        $success = $parser->parse_ftyp() && $parser->parse_file();
        fclose($handle);
        if ($success) {
            $results = $parser->features->primary_item_features;
        }
    }
    return $results;
}