{"id":3066,"date":"2024-11-27T10:43:52","date_gmt":"2024-11-27T09:43:52","guid":{"rendered":"https:\/\/digitalia.culturanuova.net\/blog\/?p=3066"},"modified":"2025-05-23T17:36:55","modified_gmt":"2025-05-23T15:36:55","slug":"automatic-images-gallery","status":"publish","type":"post","link":"https:\/\/digitalia.culturanuova.net\/blog\/?p=3066","title":{"rendered":"Automatic images gallery"},"content":{"rendered":"\n<p>With <a href=\"https:\/\/flickity.metafizzy.co\/\">flickity<\/a> and php you can realize an automatic images gallery, with automatic titles and (if they are present) metatags:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;div id=\"gallery\" style=\"width: 50%; margin-left: auto; margin-right: auto; margin-bottom: 4%;\">\n&lt;div class=\"carousel\" title=\"cliccare su una immagine per ingrandirla\" data-flickity='{ \"cellAlign\": \"center\", \"contain\": true, \"fullscreen\": true, \"wrapAround\": true, \"lazyLoad\": 1 }'>\n\n&lt;?php\n\n$images = glob(\"your-images-path\/*.jpg\");\n$flag=1;\n\nforeach($images as $image)\n{\n  \/\/ Ricava il titolo dell'immagine (metatag o nome del file)\n  $imagedescription = '';\n  if (function_exists('exif_read_data')) {\n    $exifData = exif_read_data($image);\n\n    \/\/ Controlla se esiste un campo di commento o descrizione\n    if (isset($exifData&#91;'ImageDescription'])) {\n      $imagedescription = $exifData&#91;'ImageDescription']; \/\/ Titolo o descrizione nell'EXIF\n    }\n  }\n\n  $imageTitle = '';\n\n  \/\/ Verifica se la funzione IPTC \u00e8 disponibile\n  if (function_exists('iptcparse')) {\n    \/\/ Ottieni i metadati IPTC dall'immagine\n    $iptcData = iptcparse(@iptcembed('', $image)); \/\/ iptcembed recupera i metadati IPTC da un'immagine\n\n    \/\/ Controlla se il campo \"headline\" (titolo) \u00e8 presente nei metadati IPTC\n    if (isset($iptcData&#91;2])) {\n      $imageTitle = $iptcData&#91;2]&#91;0]; \/\/ Il campo 2 \u00e8 \"headline\" nell'IPTC\n      \/\/ Troncamento del titolo se troppo lungo\n      $maxLength = 50; \/\/ Lunghezza massima del titolo\n      if (strlen($imageTitle) > $maxLength) {\n        $imageTitle = substr($imageTitle, 0, $maxLength) . '...';\n      }\n    }\n  }\n\n  \/\/ Se non c'\u00e8 un titolo IPTC, usa il nome del file senza trattini\n  if (empty($imageTitle)) {\n    $imageTitle = pathinfo($image, PATHINFO_FILENAME); \/\/ Ottieni il nome del file senza estensione\n\n    \/\/ Rimuovi trattini dal nome del file, se presenti\n    $imageTitle = str_replace('-', ' ', $imageTitle);\n  }\n\n\n  echo '&lt;div class=\"carousel-cell' .($flag?' active':''). '\">';\n  echo '&lt;img title=\"'. $imagedescription .'\" data-flickity-lazyload=\"'. $image .'\" onclick=\"onClick(this)\" \/>';\n  echo \"&lt;span class='carusel-image-title'>$imageTitle&lt;\/span>\";\n  echo '&lt;\/div>';\n  $flag=0;\n}\n?>\n\n&lt;\/div>\n&lt;\/div><\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>With flickity and php you can realize an automatic images gallery, with automatic titles and (if they are present) metatags:<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[751,566],"tags":[914,912,911,44],"class_list":["post-3066","post","type-post","status-publish","format-standard","hentry","category-php","category-webmaster","tag-automatizing-a-website","tag-flickity","tag-gallery","tag-images"],"_links":{"self":[{"href":"https:\/\/digitalia.culturanuova.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3066","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digitalia.culturanuova.net\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digitalia.culturanuova.net\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digitalia.culturanuova.net\/blog\/index.php?rest_route=\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/digitalia.culturanuova.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3066"}],"version-history":[{"count":1,"href":"https:\/\/digitalia.culturanuova.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3066\/revisions"}],"predecessor-version":[{"id":3067,"href":"https:\/\/digitalia.culturanuova.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3066\/revisions\/3067"}],"wp:attachment":[{"href":"https:\/\/digitalia.culturanuova.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3066"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digitalia.culturanuova.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3066"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digitalia.culturanuova.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3066"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}