• Super User

    Problema lettura TAG immagini

    Ciao a tutti, avevo preparato uno script che va a leggermi i TAG contenuti nelle immagini. Ho provato con decine di immagini con successo, dunque lo ritenevo corretto.
    Poi mi han mandato fotografie nuove e lo script su metà delle immagini si impalla, non legge appunto il campo TAG...

    Guardando le proprietà delle immagini sono conformi, ovvero non contengono caratteri particolari o in posizioni errate.... Dunque non capisco...

    Questo lo script:

    [PHP]$size = getimagesize("up_temp/".$arrayfile[$refresh], $info);if(is_array($info)) { $iptc = iptcparse($info["APP13"]); foreach (array_keys($iptc) as $s) { $c = count ($iptc[$s]); for ($i=0; $i <$c; $i++) { echo $s.' = '.$iptc[$s]*.'<br>'; } }
    }[/PHP]

    Idee su cosa cambiare?
    Non funzionasse su nessuna immagine penserei ad un errore, funzionando su circa 23'000 immagini sulle 25'000 da controllare vorrei capire dove guardare per sistemare anche le restanti 2'000.

    Grazie!


  • Super User

    Per darvi qualche punto in più: ho fatto una semplicissima pagina PHP con il seguente codice:

    <?php
    $size = getimagesize("aebA0218.jpg", $info);
    if(is_array($info)) {
    $iptc = iptcparse($info["APP13"]);
    foreach (array_keys($iptc) as $s) {
    $c = count ($iptc[$s]);
    for ($i=0; $i <$c; $i++) {
    echo $s.' = '.$iptc[$s]*.'<br>';
    }
    }
    }

    echo '---';

    $size = getimagesize("ax_mh0058_05.jpg", $info);
    if(is_array($info)) {
    $iptc = iptcparse($info["APP13"]);
    foreach (array_keys($iptc) as $s) {
        $c = count ($iptc[$s]);
        for ($i=0; $i <$c; $i++)
        {
        echo $s.' = '.$iptc[$s]*.'<br>';
        }
    }
    }
    

    ?>

    Dove la prima immagine la riconosce e la seconda no. Questo il risultato a video:

    1#090 = %G
    2#000 =
    2#080 = øˇ¬dñ.∆ú
    2#025 = vaso
    2#025 = verde
    2#116 = Autore


    **Notice: Undefined index: APP13 in **C:\Users\Teju\Desktop\EasyPHP-12.0\www\TestImg\index.php on line **17

    **Warning: array_keys() expects parameter 1 to be array, boolean given in **C:\Users\Teju\Desktop\EasyPHP-12.0\www\TestImg\index.php on line **18

    Warning: Invalid argument supplied for foreach() in C:\Users\Teju\Desktop\EasyPHP-12.0\www\TestImg\index.php on line 18************