Autor Zpráva
rudla
Profil
Ahoj,
mám problém a netuším, čím to může být.
Sepsal jsem script, který by měl podle parametrů GET a=album, o=obrázek a s=velikost zmenšovat vybraný obrázek podle předdefinovaných velikostí big/medium/small. Obrázek přímo zobrazuju proto, abych mohl na script odkazovat zrovna z <img>.

<?php
$a = $_GET["a"]; //album
$o = $_GET["o"]; //obrazek
$s = $_GET["s"]; //size

if(file_exists("../core/photos/".$a."/big/".$o))
{
$file = "../core/photos/".$a."/big/".$o;
header('Content-Type: image/jpeg');

list($width, $height) = getimagesize($file);
$pomer = ($width/$height);

if($s=="big" or $s==""){$vystup = imagecreatetruecolor($width, $height);
    $smaller = imagecreatefromjpeg($file);
    imagecopyresized($vystup, $smaller, 0, 0, 0, 0, $width, $height, $width, $height);}

if($s=="medium"){$newheight = (500/$pomer);$vystup = imagecreatetruecolor(800, $newheight);
    $smaller = imagecreatefromjpeg($file);
    imagecopyresized($vystup, $smaller, 0, 0, 0, 0, 500, $newheight, $width, $height);}

if($s=="small"){$newheight = (230/$pomer);$vystup = imagecreatetruecolor(230, $newheight);
    $smaller = imagecreatefromjpeg($file);
    imagecopyresized($vystup, $smaller, 0, 0, 0, 0, 230, $newheight, $width, $height);}

imagejpeg($vystup);
}
else
{
    echo "Image <strong>".$o."</strong> from <strong>".$a."</strong> does not exists.";
}
?>

Prohlížeč mi u obrázku píše, že ho jednuduše nemůže zobrazit, jelikož obsahuje chyby. Na chybu se snažím přijít už pěkně dlouho, ale jak všichni dobře známe, najít vlastní chybu bývá mnohdy složitější, než si můžeme myslet. :) Já ji tam prostě nevidím.

Díky předem za pomoc.
juriad
Profil
rudla:
Zakomentuj hlavičku na 9. řádku a pak adresu obrázku zadej do prohlížeče jako URL. Nebo ten soubor (chybně zmenšený obrázek) stáhni a otevři jej v nějakém editoru, který zvládne pracovat s velkými soubory.

Dost pravděpodobně PHP vypisuje nějaké warningy, noticy.
Není problém v tom, že $newheight je desetinné číslo?
rudla
Profil
juriad:
$newheight jsem zaokrouhlil a chybu to psalo stejně. Při pohledu do výpisu error_reporting mi to s podivem vypsalo následující:

Fatal error: Call to undefined function imagecreatetruecolor() in /var/www/html/foto/data/scripts/image.php on line 14


rudla:
Takže to byla nakonec samozřejmě moje chyba, jelikož jsem spolu s balíkem php5 zapomněl doinstalovat i balík php5-gd, díky kterému mohu pracovat s obrázky. Díky za nakopnutí, juriad, funguje to!

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: