Autor Zpráva
Rellik
Profil
Zdravím, nesetkal se někdo z vás někdy s touto chybou:
Při uploadu fotky ukládám exif informace do DB. Najednou sem vybral fotku u které mi to vyhodilo eror:
exif_read_data(phpeD6e1y): Illegal IFD size: 2 + x2200*12 = x19802 > x8D28
Přitom když sem z té fotky zkoušel "natvrdo" vypsat info o exifu, tak všechny mnou požadované informace obsahovala, ale zároveň vypsala i tento eror.
Na netu o této chybě není ani památky, jen sem našel fotogalerie, ve kterých je tato chyba taky.
Kód pro získání je celkem jednoduchý:
<?php
//.... nějaký kód před...
$exif = exif_read_data($_FILES["foto"]["tmp_name"], 'IFD0');
        $exif === false ? $isExif = 0 : $isExif = 1;        
        if ($isExif == 1) {
            $camera = $exif["Make"];
            $model = $exif["Model"];
            $time = $exif["ExposureTime"];
            $fa = $exif["FNumber"];
            $fb = explode("/", $fa);
            $fc = explode("/", $fa);
            $ff = "F" . $fb[0] / $fc[1];
            if ($ff == "F1.4") {
                $iris = "--";
            } else {
                $iris = $ff;
            }
            $iso = $exif["ISOSpeedRatings"];
        } else {
            $camera = '--';
            $model = '--';
            $time = '--';
            $iris = '--';
            $iso = '--';
        }
        // nějaký kód za... pokračování uploadu, zápis do DB....
        ?>
Poradí někdo jak tuto chybu obejít, případně co je to za chybu? Už si s tím lámu hlavu celé odpoledne. Díky za případné odpovědi.
Davex
Profil
Rellik:
Poradí někdo jak tuto chybu obejít
Už jsem se s tím také setkal. Postačí klasika - vypnout zobrazování varování PHP nebo použít @exif_read_data(...
Rellik
Profil
No jo, že mě to hned nenapadlo. Bude to asi tím, že tyto potlačení chyb nepoužívám. Nicméně u tohoto asi udělám výjimku.
Díky za tip - funguje. :-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0