Zadejte hledaný výraz...

Vygenerovaný obrázek pro stažení – určení přípony

crs
verified
rating uzivatele
(1 hodnocení)
6. 4. 2020 21:09:45
Zdravíčko.
Udělal jsem PHP skript, který generuje jeden obrázek. Konkrétně ten skript obsahuje jak část pro vygenerování, tak formulář pro nastavení parametrů.
Kostra skriptu:
S vytvořením obrázku nemám problém, ale chtěl bych - se zachováním této struktury -, aby se dal obrázek uložit z webu na disk se správnou příponou.
V současné verzi se mi v dialogu pro uložení nabízí přípona PHP a stahuje se zdroják.
Zkoušel jsem přidat - bez změny chování.
Vím o hlavičce "Content-disposition" a hodnotách "attachment", "inline" a dalších - všechny jsem vyzkoušel, bez úspěchu (inline stahuje zdroják, ostatní obrázek rovnou stahují, což nechci).
Díky za rady.
6. 4. 2020 21:09:45
https://webtrh.cz/diskuse/vygenerovany-obrazek-pro-stazeni-urceni-pripony#reply1447055
node
verified
rating uzivatele
(5 hodnocení)
6. 4. 2020 21:13:34
ostatní obrázek rovnou stahují, což nechci
nechapem co tu riesis potom
6. 4. 2020 21:13:34
https://webtrh.cz/diskuse/vygenerovany-obrazek-pro-stazeni-urceni-pripony#reply1447054
TomasX
verified
rating uzivatele
(4 hodnocení)
6. 4. 2020 21:32:46
pokud se ti stahuje zdroják toho php, máš špatně nastavený webový server a nebere php jako program.
Co používáš a v jaké cestě máš to php?
6. 4. 2020 21:32:46
https://webtrh.cz/diskuse/vygenerovany-obrazek-pro-stazeni-urceni-pripony#reply1447053
David Musil
verified
rating uzivatele
(69 hodnocení)
7. 4. 2020 07:01:20
Chapu dobre, ze jsi dosahl toho, ze prohlizec obrazek automaticky stahuje se spravnou koncovkou, ale pokud se objevi dialogove okno s moznosti ulozeni souboru, tak je soubor s php koncovku?
Takze to nema stahovat automaticky, ale potrebujes zobrazit dialogove okno?
7. 4. 2020 07:01:20
https://webtrh.cz/diskuse/vygenerovany-obrazek-pro-stazeni-urceni-pripony#reply1447052
Tohle by mohlo pomoci
7. 4. 2020 07:39:44
https://webtrh.cz/diskuse/vygenerovany-obrazek-pro-stazeni-urceni-pripony#reply1447051
crs
verified
rating uzivatele
(1 hodnocení)
7. 4. 2020 17:56:22
Napsal node;1578043
> ostatní obrázek rovnou stahují, což nechci.
nechapem co tu riesis potom
Tím, že ho "rovnou stahují" mám na mysli, že po odeslání formuláře s parametry prohlížeč obrázek nezobrazí (jak bych chtěl), ale rovnou (automaticky) ho začne ukládat na disk. A to nechci - chci, aby se v prohlížeči zobrazil a bylo možno jej z něj případně stáhnout (uložit).
Napsal TomášX;1578047
pokud se ti stahuje zdroják toho php, máš špatně nastavený webový server a nebere php jako program.
Co používáš a v jaké cestě máš to php?
Myslíš jakou verzi atd? XAMPP s PHP 7.2.7 na Windows nainstalovaný automatickým spustitelným installerem bez dalších zásahů do configu. A samotný skript je v jednom podadresáři "htdocs", což je hlavní adresář pro projekty. Kdekoli jinde na localhostu pokus stáhnout cíl, kde cíl je PHP, stáhne vygenerované html.
Spíš bych ale řekl, že to bude tím, že skript generuje jak html s formulářem, tak obrázek.
Napsal Vít Michalek;1578094
Tohle by mohlo pomoci
To jsem psal, že jsem zkoušel a že to nefunguje.
Ale tu hlavičku tam radši nechám.
----
Zjistil jsem, že když zruším generování do iframu (a obrázek se vygeneruje do nového karty prohlížeče), tak z ní už jde stáhnout jako PNG (a to po přidání header("Content-disposition: inline...")). Nebo to vidím na to skipt rozdělit na dva (jeden pouze formulář a druhý pouze pro generování png).
Asi to nebudu dál zkoumat a nechám to tak. Díky všem. Nicméně, kdyby někdo na to přišel, ať sem klidně napíše řešení.
7. 4. 2020 17:56:22
https://webtrh.cz/diskuse/vygenerovany-obrazek-pro-stazeni-urceni-pripony#reply1447050
node
verified
rating uzivatele
(5 hodnocení)
7. 4. 2020 18:08:24
S vytvořením obrázku nemám problém, ale chtěl bych - se zachováním této struktury -, aby se dal obrázek uložit z webu na disk se správnou příponou.
raz hovoris tak, potom inak :)
ked pouzijes priklad z php.net tak mas rovnaky vysledok?
a ked si zapnes error reporting na all, vypise ti nejake chyby?
7. 4. 2020 18:08:24
https://webtrh.cz/diskuse/vygenerovany-obrazek-pro-stazeni-urceni-pripony#reply1447049
crs
verified
rating uzivatele
(1 hodnocení)
7. 4. 2020 20:18:52
Napsal node;1578220
a ked si zapnes error reporting na all, vypise ti nejake chyby?
Ne. Jak jsem psal, s zpracováním problém nemám; obrázek se vygeneruje bez chyb.
Napsal node;1578220
ked pouzijes priklad z php.net tak mas rovnaky vysledok?
Ano.
7. 4. 2020 20:18:52
https://webtrh.cz/diskuse/vygenerovany-obrazek-pro-stazeni-urceni-pripony#reply1447048
zezmen
verified
rating uzivatele
(39 hodnocení)
8. 4. 2020 06:59:00
No a je problém si zobrazit obrázek přes echo na konci PHP scriptu?
Celá část kódu (obrázek se zobrazí nad formulářem) pro pochopení:
Celá část kódu (obrázek se zobrazí pod formulářem) pro pochopení:
8. 4. 2020 06:59:00
https://webtrh.cz/diskuse/vygenerovany-obrazek-pro-stazeni-urceni-pripony#reply1447047
crs
verified
rating uzivatele
(1 hodnocení)
8. 4. 2020 17:58:09
Napsal zezmen;1578280
No a je problém si zobrazit obrázek přes echo na konci PHP scriptu?
...
Není. Díky za nápad, vyzkouším. Tohle řešení bude mít sice větší datový přenos, asi o čtvrtinu, ale mělo by fungovat.
Btw. V dialogu pro stažení se nabízí jméno "stažený soubor" (v české verzi Chrome, v jiných prohlížečích předpokládám podobně). Je nějaká možnost to změnit na vlastní jméno?
Koukám, že StackOverflow má nějakou odpověď, ale pro jiný element - zkusím, jestli to půjde i pro .
---------- Příspěvek doplněn 09.04.2020 v 07:39 ----------
Update: Upravil jsem to a konečně lze obrázek uložit jako PNGčko. Název souboru se stále nabízí jako "stažený soubor", parametr name (dle rady na StackOverflow) nepomohl. Ale můžu obrázek obalit do a potom (alespoň v Chromu) se nabízí specifikované jméno.
----
Napsal zezmen;1578280
Celá část kódu (...) pro pochopení:
Ten kód jsi psal ty? Teprve teď jsem se na to podíval a vypadá to, že jsou v něm chyby:
    v prvním příkladu je chyba vypisovat nejdřív a pak až atd. U některých prohlížečů by to mohlo způsobit špatnou identifikaci , který předpokládají jako první věc ve výstupu html, a s tím spojené problémy.
    ob_end_clean() nevrací obsah bufferingu ale true/false podle úspěšnosti. Na vrácení bufferovaného obsahu je ob_get_contents() (který se musí zavolat před ob_end_clean()).
Ale nechci vyznít jako rýpal - takže ještě jednou díky za navedení správným směrem.
8. 4. 2020 17:58:09
https://webtrh.cz/diskuse/vygenerovany-obrazek-pro-stazeni-urceni-pripony#reply1447046
Pro odpověď se přihlašte.
Přihlásit