Pokud PHP obsahuje příslušné knihovny, můžeme velmi pohodlně generovat náhledy obrázků.
Zjistí rozměry obrázku.
list($width, $height, $type, $attr) = @getimagesize($adr.$file);
Zjistí typ obrázku.
hodnota | Konstanta |
---|---|
1 | IMAGETYPE_GIF |
2 | IMAGETYPE_JPEG |
3 | IMAGETYPE_PNG |
4 | IMAGETYPE_SWF |
5 | IMAGETYPE_PSD |
6 | IMAGETYPE_BMP |
7 | IMAGETYPE_TIFF_II (intel byte order) |
8 | IMAGETYPE_TIFF_MM (motorola byte order) |
9 | IMAGETYPE_JPC |
10 | IMAGETYPE_JP2 |
11 | IMAGETYPE_JPX |
12 | IMAGETYPE_JB2 |
13 | IMAGETYPE_SWC |
14 | IMAGETYPE_IFF |
15 | IMAGETYPE_WBMP |
16 | IMAGETYPE_XBM |
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) { echo 'Obrázek není gif.'; }
Vytvoří zmenšeninu obrázku typu .tiff nebo .jpg.
Tato funkce vyžaduje správný formát exif informací v obrázku. Obvykle postačuje obrázek otevřít např. ve photoshopu a znovu uložit. Více zde
exif_thumbnail("adresa k obrázku", "šířka zmenšeniny", "výška zmenšeniny", "typ obrázku");
$ext = strtolower(substr($fn,strlen($fn)-3))//načtení přípony obrázku $image = exif_thumbnail($fn, $width, $height, $type);//generování náhledu if ($image!==false) { //generování se nezdařilo $handle = fopen ($fn.".thumb.jpg", 'a');//vytvoříme nový soubor //write the thumbnail image fwrite($handle, $image);//zapíšeme fclose ($handle); }
$handle2=opendir($adr);//otevřeme adresář while (false!=($file = readdir($handle2))) { if (($file!=".") && ($file!="..") ) { list($width, $height, $type, $attr) = @getimagesize($adr.$file); if ($width>100) { $width=150; $height=150; $image = @exif_thumbnail($adr.$file, $width, $height, $type); $ext = strtolower(substr($adr.$file,strlen($fn)-3))//načtení přípony obrázku $image = exif_thumbnail($adr.$file, $width, $height, $type);//generování náhledu if ($image!==false) { //generování se nezdařilo $handle = fopen ($fn.".thumb.jpg", 'a');//vytvoříme nový soubor //write the thumbnail image fwrite($handle, $image);//zapíšeme fclose ($handle); $obr=$fn.".thumb.jpg";//adresa náhledu } else $obr=$adr.$file; //nezadařilo se, odkazuji na původní soubor echo "<a href=\"$adr/$file\"><img src=\"$obr"\"></a>\n"; } }
list($width, $height, $type, $attr) = getimagesize("./12.jpg"); $width=150; $height=150; $image = exif_thumbnail("./12.jpg", $width, $height, $type); //generovn se nezdailo $handle = fopen ("thumb.jpg", 'a+');//vytvome nov soubor //write the thumbnail image fwrite($handle, $image);//zapeme fclose ($handle); //if (!$image) header("Location: 12.jpg"); header("Content-type: ".$type); echo $image;