Autor | Zpráva | ||
---|---|---|---|
RAsik Profil * |
Mám stránku, kde na základě volby z formuláře se zobrazí graf ve formě obrázku. Nepodařilo se mi vymyslet všechno v jednom skriptu (probémy s hlavičkou header), tak to mám udělaný tak, že v jednom skriptu (formular.php) je formulář, ukládám jeho hodnoty do sešny nebo $_GET a pak v něm obrázek zobrazuju pomocí
<img src="obrazek.php"...> nebo <img src="obrazek.php?hod=$hodnoty"...>
Ve skriptu obrazek.php se na základě předaných hodnot provede dotaz do DB, vytvoří se obrázek - třeba graf, mapa,... - pomocí imagecreate($obr, ...) , atd... pak imagepng($obr) .
Vypadá to nějak takhle: I když všecho funguje skvěle, nevím, jestli je to elegantní řešení, jsem ryzí samouk a nemám kde koukat do skriptů profíků, jak to děláte vy?. Ještě bych byl rád, když uživatel chce obrázek uložit (pomocí pravé myši a "uložit obrázek jako...") se mu nabízel nějaký rozumný název souboru a ne jen "untitled". Zkoušel jsem do <img src...> doplňovat title, name i alt, ale bez úspěchu. Zkoušel jsem i obrázek ukládat pomocí imagepng($obr, "nejaky_nazev_obrazku.png") a pak zobrazovat <img src="nejaky_nazev_obrazku.png"> , ale prohlížeč si ho pak pamatuje a při změně hodnot ve formuláři zobrazuje pořád ten původní. A i kdyby se tak nestalo, bojím se, že kdyby jiný uživatel zvolil jiné parametry, tak se obrázek přepíše novými daty a první uživatel by si mohl uložit ten novější. Nechci ale obrázkům dávat jedinečná jména, protože by se mi pak hromadily a přiznám se, nevím, jak je pak (automaticky) mazat.
Safra, nepodařilo se vložit odkaz na obrázek, ale snad jsem to napsal pochopitelně... Moderátor juriad: Opraveno formátování
|
||
Bubák Profil |
#2 · Zasláno: 19. 3. 2015, 08:21:54
RAsik:
„ale snad jsem to napsal pochopitelně...“ Nevím, odmítám to číst. |
||
Chamurappi Profil |
RAsik:
Napiš sem do tohoto vlákna ten příspěvek ještě jednou, normálně, bez [>pre] , někdo pak smaže první tři příspěvky. Uvnitř zdrojových kódů se totiž vyhazuje některé formátování (včetně obrázků).
|
||
juriad Profil |
RAsik:
Ukládat obrázek skutečně nechceš, ale chceš poslat hlavičku, kterou prohlížeči napovíš, jak se má soubor jmenovat. stackoverflow.com/questions/1395151/content-dispositionwhat-are-the-differences-between-inline-and-attachment header("Content-Disposition", "inline;filename=jmeno-souboru.pripona"); Je to popsáno v RFC6266 |
||
RAsik Profil * |
#5 · Zasláno: 19. 3. 2015, 10:02:17
Sorry, o pre jsem nevěděl, moderátore díky za úpravu...
juriad Zkusím na to kouknout, ale myslím, že ani s překladačem to nedám... |
||
juriad Profil |
#6 · Zasláno: 19. 3. 2015, 10:10:03
RAsik:
Prostě před imagepng zavolej header, který jsem uvedl v [#4]. Ohledně toho prvního problému by se hodil ten chybějící obrázek. Mít oddělený skript pro kreslení obrázků od skriptu stránky má smysl a nevidím na tom nic špatného. SESSION bych se vyhnul a raději posílal parametry GETem, pak půjde v několika tabech zobrazovat různé obrázky a půjde někomu poslat odkaz na něj. |
||
Giga Profil |
#7 · Zasláno: 19. 3. 2015, 10:27:17
RAsik
Možno sa mýlim, ale inak, ako oddeliť kreslenie obrázku od skriptu stránky, to nejde. Takže to robíš dobre. |
||
RAsik Profil * |
#8 · Zasláno: 19. 3. 2015, 12:51:48
Takže zkusil jsem doplnit tu hlavičku, vyhodil původní
header("Content-type: image/png") , nechal je obě, dal i obráceném pořadí a bohužel to nefunguje. Zkouším to na IE 8.0 (novější ani jiný prohlížeč naše firma neprovozuje), je-li to důležité...
Obrázek zkusím radši jen odkazem ukázka, jako ilustrace bude stačit, protože - kupodivu - zdá se, že jsem to vymyslel dobře. Ještě jednou děkuju všem. |
||
juriad Profil |
#9 · Zasláno: 19. 3. 2015, 12:57:40
RAsik:
Starší IE to nepodporují, viz greenbytes.de/tech/tc2231/#inlwithasciifilenamepdf. O jiném způsobu nevím, nejspíš to vůbec nepůjde. |
||
Kajman Profil |
#10 · Zasláno: 19. 3. 2015, 14:59:55
RAsik:
Jako src můžete např. vygenerovat <img src="/grafy/nejaky_nazev_obrazku.png?hod=hodnoty"> RewriteRule ^grafy/.* obrazek.php [L] |
||
RAsik Profil * |
#11 · Zasláno: 19. 3. 2015, 19:23:40
juriad
Aha, tak v tom je ten háček[b], zkusím na to vzpomenout, až najedem na něco novějšího (už by bylo načase...) Kajman <img src="/grafy/nejaky_nazev_obrazku.png?hod=hodnoty"> takhle přesně to dělám, jen GET různě střídám se SESSION .
Ale do mod_rewrite se pouštět radši nebudu, cosi jsem o tom četl a nemyslím, že je v mých silách to ovládnout. Každopádně díky.
|
||
Časová prodleva: 9 let
|
0