Autor | Zpráva | ||
---|---|---|---|
milbr Profil * |
#1 · Zasláno: 28. 5. 2011, 08:30:40
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 |
#2 · Zasláno: 28. 5. 2011, 15:26:46
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 * |
#3 · Zasláno: 28. 5. 2011, 17:24:00
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. |
||
Časová prodleva: 13 let
|
0