Autor Zpráva
milbr
Profil *
Přeji pěkný den,
našel jsem zde na diskuzi script na změnu velikosti obrázku, který mi jako jeden z mála funguje i na localhostu. Vyzkoušel jsem ho. Vše funguje i přes chyby, které po zpracování vypíše.
Chtěl bych Vás poprosit zda nevíte v čem by mohl být problém.
Dále bych se chtěl ještě zeptat, možná to sem nepatří ale přesto, mohu si např. tento php script upravit a použít do své aplikace, i když nejsem jeho autorem?

Moc děkuji a ještě jednou pěkný den Milan.

chyby:
Notice: Constant WIDTH already defined in C:\ComplexWebServer\http_docs\prace\MILBR\SABLONY\fotogalerie_vlozit\fotogalery_upload.php on line 44
Notice: Constant HEIGHT already defined in C:\ComplexWebServer\http_docs\prace\MILBR\SABLONY\fotogalerie_vlozit\fotogalery_upload.php on line 45
Notice: Undefined variable: White in C:\ComplexWebServer\http_docs\prace\MILBR\SABLONY\fotogalerie_vlozit\fotogalery_upload.php on line 62

script:
function nahled($cesta_nazev, $nazev, $width, $height, $small=''){
            define("WIDTH", $width); // výška
            define("HEIGHT", $height);  // šířka  
                $Im2 = ImageCreateFromJPEG($cesta_nazev."/$nazev"); // vytvoří obrázek ze souboru
                if(ImageSX($Im2)>ImageSY($Im2)){ // pokud je sirší než delší 
                    $pomer=ImageSY($Im2)/ImageSX($Im2); // získá poměr, upraví rozměry a označí ho jako na šířku = true
                    $sirka_nahled=WIDTH; 
                    $vyska_nahled=WIDTH*$pomer; 
                    $nasirku_nahled = true; 
                }
                else { // pokud je vyšší než širší
                    $pomer=ImageSX($Im2)/ImageSY($Im2); // získá poměr, upraví rozměry a označí ho jako na šířku = false 
                    $sirka_nahled=WIDTH*$pomer; 
                    $vyska_nahled=WIDTH; 
                    $nasirku_nahled = false; 
                } 
                settype($sirka_nahled, "integer"); // přetypování promněných na integer (aby nedocházelo k rozměru obrázku desetinným číslem)
                settype($vyska_nahled, "integer");
                $Im1 = ImageCreateTrueColor($sirka_nahled,$vyska_nahled);     // vytvoří náhled
                imagefilledrectangle ($Im1, 0, 0, WIDTH, HEIGHT, $White); 
                imagecopyresampled($Im1,$Im2,0,0,0,0,$sirka_nahled, $vyska_nahled,ImageSX($Im2),ImageSY($Im2));  
                imagejpeg($Im1, "$cesta_nazev/{$small}$nazev"); // uloží obrázek
                imagedestroy($Im1);
                imagedestroy($Im2);
return; } // konec funkce
japlavaren
Profil
Notice: Constant WIDTH already defined in C:\ComplexWebServer\http_docs\prace\MILBR\SABLONY\fotogalerie_vlozit\fotogalery_upload.php on line 44
- definujes konstantu. ak zavolas funkciu viac krat, pozadujes definovat konstantu co je blbost rpezoze konstanta ma nemannu hodnotu. mozes to prepisat, aby sa overovalo, ci konstanta existuje pomocou funkcie defined
<?php
if(!defined("WIDTH")) define("WIDTH", $width);

ale nevidim dovod ukladat rozmery do konstanty. pri volani tej funkcie mozes mat ine rozmery a nastava problem. doporucujem riadok 2 a 3 kde definujes tie konstanty zmazat a nahradit v scripte WIDTH za $width

Notice: Undefined variable: White in C:\ComplexWebServer\http_docs\prace\MILBR\SABLONY\fotogalerie_vlozit\fotogalery_upload.php on line 62
- neznama premenna - pouzivas premennu $white ale nikde ju nemas definovanu. treba ju nadefinovat pomocou funkcie imagecolorallocate

k tomu pouzitu kodu - tam kde bol uvedeny by mala byt licenica, i ked doporucujem pouzivat nejake kniznice, ktore maju priamo urcenu licenciu a umoznuju jednoduchsiu pracu.
ako priklad Nette Image
milbr
Profil *
japlavaren:
Moc děkuji za radu, s Vaší pomocí script proběhl bez chyb.

Při pročítání diskuze jsem na tento script narazil zde http://diskuse.jakpsatweb.cz/?action=vthread&forum=9&topic=97747

Ještě jednou děkuji, Milan.

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