Autor | Zpráva | ||
---|---|---|---|
Milos Profil |
#1 · Zasláno: 8. 7. 2005, 18:34:32
Zdravím všechny nadšence PHP,
mám na webu detaily o firmách s jednou fotografii, která má rozměry 800x600 a chtěl bych, aby v přehledu firem se ukázal jen rozklikávací náhled o rozměrech 200x150 a po kliknutí se ukázala fotka v plném rozlišení 800x600px - všechny jsou ve formátu JPG. Kód PHP na zmeněšní rozměrů: <? Header("Content-type: image/jpeg"); //nevím zda toto nemá být úplně první v hlavičce stránky??? $obr=ImageCreateTrueColor(200,150); $puvodni=ImageCreateFromJPEG("firma.jpg"); ImageCopyResampled($obr,$puvodni,0,0,0,0,200,150,800,600); ImageDestroy($puvodni); ImageJPEG($obr); ?> a z toho mi vyleze: ˙Ř˙ŕJFIF˙ţ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ˙ŰC $.' ",#(7),01444'9=82<.342˙ŰC 2!!22222222222222222222222222222222222222222222222222˙Ŕ– a spousta dalších zmatenejch znaků... nevíte kde je chyba Hosting vypisuje v PHPinfo: gd GD Support enabled GD Version bundled (2.0.28 compatible) FreeType Support enabled FreeType Linkage with freetype GIF Read Support enabled GIF Create Support enabled JPG Support enabled PNG Support enabled WBMP Support enabled XBM Support enabled Díky. Miloš |
||
Charlie Profil |
#2 · Zasláno: 8. 7. 2005, 18:47:44
Zkuste změnit všechny JPEG na JPG.
|
||
llook Profil |
#3 · Zasláno: 8. 7. 2005, 18:51:17
To vypadá, že to opravdu vypisuje JPEG, ale je špatná content-type hlavička. Není před tím header() nějaký výstup, třeba jen přehlédnutá mezera nebo odřádkování?
|
||
Kaifman Profil |
#4 · Zasláno: 8. 7. 2005, 19:19:38
musis ten tvuj skript volat v tagu <img src="tvuj.srkipt.php"> ne primo ... to je jasen ze ti potom vypisuje obsah souboru
myslim ze ale potrebujes spis tohle: zrus tu header a posli si ten obrazek do souboru takhle ImageJPEG($obr,'souborsnahledem.jpg'); |
||
Milos Profil |
#5 · Zasláno: 8. 7. 2005, 19:25:34
Předem díky za rady, už sem to zprovoznil i na lokalhostu, ale...
Když dám samotný kód: <?Header("Content-type: image/jpeg"); $obr=ImageCreateTrueColor(200,150); $puvodni=ImageCreateFromjpeg("1.jpg"); ImageCopyResampled($obr,$puvodni,0,0,0,0,200,150,800,600); ImageDestroy($puvodni); Imagejpeg($obr); ?> tak to funguje bez problémů, ale... když k tomu dám i HTML: <?Header("Content-type: image/jpeg");?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Nepojmenovaný dokument</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> </head> <body> <? $obr=ImageCreateTrueColor(200,150); $puvodni=ImageCreateFromjpeg("1.jpg"); ImageCopyResampled($obr,$puvodni,0,0,0,0,200,150,800,600); ImageDestroy($puvodni); Imagejpeg($obr); ?> </body> </html> tak to vypisuje ten kód??? Proč??? Dotaz na KAIFMANa - co to znamená pošli si ten obrázek??? Jestli možno, kousek kódu, třebe je v tom ten můj problém. Díky. |
||
Kaifman Profil |
#6 · Zasláno: 8. 7. 2005, 19:30:49
jako ze si ten obrazek ulozis do souboru nikoliv ze ti pude rovnou na vystup jako to mas s tou header... to je ten druhej parametr u imagejpeg a pak das normalne <img src="jmenotohosouboru">
|
||
llook Profil |
#7 · Zasláno: 8. 7. 2005, 19:50:51
Jde o to, že když kolem toho dáš to HTML, tak už to nebere jako obrázek, ale jako součást zdroje HTML. Do HTML nelze vložit obrázek přímo, jenom jeho adresu ve značce IMG.
Takže ten první kód (ten co funguje) dej do samostatného souboru, třeba obrazek.php a do HTML stránky <img src="obrazek.php">. |
||
Milos Profil |
#8 · Zasláno: 8. 7. 2005, 20:00:28
Díky všem. Ten poslední TIP od ILOOKa mi to vyřešil.
Končím debatu... :) |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0