Función PHP iptcparse()

¿Qué son los datos IPTC?

Los datos IPTC generalmente se conocen como los metadatos asociados con un archivo de imagen, etc. Es el formato de metadatos estandarizado creado para el uso de medios. Estos datos de IPTC generalmente incluyen detalles de la imagen como ubicación, descripción, título, fecha y derechos de autor.

La función PHP iptcparse() es una función incorporada para analizar estos datos IPTC de la imagen.

Sintaxis:

array|false iptcparse( string $iptc_data )

Parámetros: esta función acepta un solo parámetro como se mencionó anteriormente y se describe a continuación:

  • $iptc_data: toma un bloque binario de datos IPTC que obtuvimos de la imagen.

Valor de retorno: en caso de error o si se encuentran datos en la imagen, devuelve un valor bool falso . Si se encuentran datos en la imagen, devuelve una array con un marcador de etiqueta como índice.

Ejemplo 1: El siguiente código es para una imagen cuando hay datos presentes en ella.

PHP

<?php
  
// Fetching image size but we actually have to
// use $info that contain meta data of image
// 1st argument is name of the image and second
// is optional but we pass any variable name 
// because it contains meta data 
$img_size = getimagesize('1.jpg', $img_info);
  
/* We have an array of length three of meta
data of image in $img_info variable but we
have to parse only IPTC data so we have to
pass APP13 which contain IPTC data */
$iptc_data = iptcparse($img_info['APP13']);
  
// IPTC data fetched 
foreach ($iptc_data as $key => $value) {
    echo var_dump($key,"---",$value)."<br>";
}
  
echo "<br><b>Fetching data:</b><br>";
  
// Now looping through each and every
// key value pair
foreach ($iptc_data as $key => $value) {
    for ($i=0; $i < sizeof($value); $i++) { 
        echo $key." -- ".$value[$i]."<br>";
    }
}
  
?>

Salida: Podemos ver estas teclas que representan –

2#120 — Título de la imagen

2#080 — Autor de las imágenes

2#055 — Fecha de la imagen cuando se crea 

2#060 — Tiempo 

2#025 — Etiquetas en una imagen 

2#116 — Derechos de autor de la imagen

string(5) “1#090” string(3) “—” array(1) { [0]=> string(3) “%G” }
string(5) “1#000” string(3) “— ” array(1) { [0]=> string(2) “” }
string(5) “2#000” string(3) “—” array(1) { [0]=> string(2) “” }
string(5) “2#120” string(3) “—” array(1) { [0]=> string(91) “Vistas frontales de
tres emocionantes máquinas de vapor en un museo del ferrocarril cerca de Viena (Austria)” }
string(5) “2#080” string(3) “—” array(1) { [0]=> string(32) “Grupo de trabajo de metadatos fotográficos IPTC” }
string(5) “2#055” string(3 ) “—” array(1) { [0]=> string(8) “20191123” }
string(5) “2#060” string(3) “—” array(1) { [0]=> string( 6) “000000” }
string(5) “2#025” string(3) “—” array(2) { [0]=> string(8) “ferrocarril” [1]=> string(12) “vapor motor» }
string(5) “2#116” string(3) “—” array(1) { [0]=> string(38) “© Copyright 2019, IPTC – www.iptc.org” }
string(5) “2 #110” string(3) “—” array(1) { [0]=> string(4) “IPTC” }

Obteniendo datos:
1#090 — %G
1#000 —
2#000 —
2#120 — Vistas frontales de tres emocionantes máquinas de vapor en un museo del ferrocarril cerca de Viena (Austria)
2#080 — Grupo de trabajo de metadatos fotográficos IPTC
2#055 — 20191123
2#060 — 000000
2#025 — ferrocarril
2#025 — máquina de vapor
2#116 — © Copyright 2019, IPTC – www.iptc.org
2#110 — IPTC

Ejemplo 2: El siguiente código demuestra la función cuando no hay datos presentes en la imagen. 

PHP

<?PHP
     
$img_size = getimagesize(
'https://media.geeksforgeeks.org/wp-content/uploads/20210726112758/gfg2.jpg',
    $img_info);
  
echo var_dump($img_info);
$iptc_data = iptcparse($img_info['APP13']);
  
?>

Producción:

array(2) { [“APP0”]=> string(14) “JFIF“” [“APP1”]=> string(32) “ExifMM*” }
Aviso:
Índice indefinido: APP13 en C:\xampp\htdocs\ GeeksForGeeks\contentReviewJuly\iptcparse\indexCopy.php en la línea 4

Como podemos ver no hay ningún bloque IPTC presente en la imagen, arroja un error.

Referencia:  https://www.php.net/manual/en/function.iptcparse.php

Publicación traducida automáticamente

Artículo escrito por namankumar2592 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *