Com a função PHP wp_get_attachment_metadata() você extrai os metadados de um arquivo, dado o seu ID. O seu uso é bem simples:

<?php
$arquivo_metadados = wp_get_attachment_metadata( $arquivo_id );Code language: PHP (php)

Exemplos de retorno

Seguem abaixo dois exemplos de retorno da função acima para tipos diferentes de arquivos.

Arquivo de imagem

Array
(
    [width] => 1920
    [height] => 1080
    [file] => 2021/01/Captura-de-tela-de-2021-05-30-19-22-52.png
    [sizes] => Array
        (
            [medium] => Array
                (
                    [file] => Captura-de-tela-de-2021-05-30-19-22-52-300x169.png
                    [width] => 300
                    [height] => 169
                    [mime-type] => image/png
                )

            [large] => Array
                (
                    [file] => Captura-de-tela-de-2021-05-30-19-22-52-1024x576.png
                    [width] => 1024
                    [height] => 576
                    [mime-type] => image/png
                )

            [thumbnail] => Array
                (
                    [file] => Captura-de-tela-de-2021-05-30-19-22-52-150x150.png
                    [width] => 150
                    [height] => 150
                    [mime-type] => image/png
                )

            [medium_large] => Array
                (
                    [file] => Captura-de-tela-de-2021-05-30-19-22-52-768x432.png
                    [width] => 768
                    [height] => 432
                    [mime-type] => image/png
                )

            [1536x1536] => Array
                (
                    [file] => Captura-de-tela-de-2021-05-30-19-22-52-1536x864.png
                    [width] => 1536
                    [height] => 864
                    [mime-type] => image/png
                )

            [post-thumbnail] => Array
                (
                    [file] => Captura-de-tela-de-2021-05-30-19-22-52-1568x882.png
                    [width] => 1568
                    [height] => 882
                    [mime-type] => image/png
                )

        )

    [image_meta] => Array
        (
            [aperture] => 0
            [credit] => 
            [camera] => 
            [caption] => 
            [created_timestamp] => 0
            [copyright] => 
            [focal_length] => 0
            [iso] => 0
            [shutter_speed] => 0
            [title] => 
            [orientation] => 0
            [keywords] => Array
                (
                )

        )

)Code language: PHP (php)

Arquivo de vídeo

Array
(
    [filesize] => 9889364
    [mime_type] => video/mp4
    [length] => 18
    [length_formatted] => 0:18
    [width] => 1920
    [height] => 1080
    [fileformat] => mp4
    [dataformat] => quicktime
    [audio] => Array
        (
            [dataformat] => mp4
            [codec] => ISO/IEC 14496-3 AAC
            [sample_rate] => 48000
            [channels] => 2
            [bits_per_sample] => 16
            [lossless] => 
            [channelmode] => stereo
        )

    [created_timestamp] => -2082844800
)Code language: PHP (php)

Utilizando os metadados para identificar informações de um arquivo

A função PHP wp_get_attachment_metadata() é muito útil para identificar várias informações interessantes de um arquivo. Abaixo citarei duas.

Identificando a duração de um vídeo

<?php
$video_metadados = wp_get_attachment_metadata( $arquivo_id );

if ( $video_metadados && !empty( $video_metadados['length_formatted'] ) ) {
	echo "A duração do vídeo é de {$video_metadados['length_formatted']} segundos.";
} else {
	echo "Não foi possível identificar a duração do vídeo.";
}Code language: PHP (php)

Identificando a câmera utilizada para gerar uma imagem

<?php
$imagem_metadados = wp_get_attachment_metadata( $arquivo_id );

if ( $imagem_metadados && !empty( $imagem_metadados['image_meta']['camera'] ) ) {
	echo "A câmera utilizada foi: {$imagem_metadados['image_meta']['camera']}.";
} else {
	echo "Não foi possível identificar a câmera utilizada.";
}Code language: PHP (php)


Comments

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *