Autor Zpráva
stitch123
Profil
Dobry den,

tak uz tu jsem podruhe. Omlouvam se, ze moc otravuju, ale na Googlu nemuzu nic najit. Jsem tu znova se strankou Stitchovy vlajky. Tentokrat bych chtel, aby se po kliknuti na vlajku rovnou stahnula. Zkousel jsem podle navodu, ktere jsem nasel tohle:

<a href="/vlajky/cerna.gif" target="_blank"><img src="http://imageshack.com/a/img703/334/riiu.gif" /></a>

Jenze to jen otevre obrazek v nove karte...

Diky za pripadnou odpoved.
juriad
Profil
Jen pomocí HTML to není možné, leda že bys obrázek třeba zazipoval. Zipy prohlížeč obvykle nabízí ke stažení.
Jinak je nutné v PHP (nebo jiném serverovém jazyku) odeslat hlavičku Content-Disposition: attachment, tím vynutíš stažení.
stitch123
Profil
juriad:
Aha, v PHP jeste neumim. Skoda, diky za odpoved.
Bubák
Profil
Já bych to udělal (lamácky) tak, že do složky vlajky bych dal soubor .htaccess s tímto obsahem:
AddType attachment .gif
Pozor, pak se GIF obrázky ze složky vlajky nemusí v některých, zejména méně běžných prohlížečích, zobrazovat. Lamácké řešení spočívá v tom že obrázky ze složky vlajky nakopíruješ do adresáře nebo podadresáře pojmenovaného třebas download.

Ukázka, ve které je PNG obrázek ke stažení, ale princip je stejný:
<a href="http://teststranek.kvalitne.cz/images/download/text-shadow.png">
  <img src="http://teststranek.kvalitne.cz/images/text-shadow.png">
</a>


Zkušenějším doporučuji použít způsob, který radí juriad, „v PHP (nebo jiném serverovém jazyku) odeslat hlavičku Content-Disposition: attachment“.

Koukám, že sweb.cz nepodporuje .htaccess soubory, takže budeš muset přidat hlavičku Content-Disposition: attachment v PHP. Já bych se toho nebál, zkusil bych si vygůglovat návod na přidání http hlavičky k souboru, je to pár řádek kódu, který dokáže použít i cvičená opice, není nutné se kvůli tomu učit celé PHP.
Kcko
Profil
Novější prohlížeče umí stahovat jakýkoliv soubor přes atribut download http://davidwalsh.name/download-attribute
stitch123
Profil
Bubák:
Dobre. Asi budu muset. Taky diky za odpoved.

Kcko:
I tobe. Proctu si to.
Bubák
Profil
Kcko:
Novější prohlížeče umí stahovat jakýkoliv soubor přes atribut download
Neznal jsem, článek jsem prakticky nečetl, ale z ukázky to musí pochopit každý, kdo ví, co je HTML atribut.
Zkoušel jsem v Chrome jména jako *.png, prn.png, ale Chrome si s tím poradil.
Kcko
Profil
Bubák:
Mě ano. (Nejnovější FF a Chrome). Nicméně dle tohoto článku, není nutné tu příponu zadávat http://www.webdesignerdepot.com/2013/04/how-to-use-the-download-attribute/
Bubák
Profil
Kcko:
Mi šlo o to, vyzkoušet dát pro uložení nepovolená jména souborů, proto jsem v prvním pokusu dal do jména hvězdičku a ve druhém pokusu prn, což je v DOS/Windows systémech rezervovaný název.
stitch123
Profil
Nakonec jsem to vyresil tak, jak psal Kcko:

<a href="/vlajky/70/cerna.gif" download="cerna.gif"><img src="http://imageshack.com/a/img703/334/riiu.gif" /></a>

Prvni sada vlajek uz je stahovatelna po kliknuti :)

Presto dekuji i vsem ostatnim.
juriad
Profil
Mimochodem, toto bude fungovat jen přibližně polovině návštěvníků. Ostatním se to zachová, jakoby tam ten atribut download nebyl.
Podrobnosti: http://caniuse.com/download
stitch123
Profil
juriad:
Tak pozdeji to snad vyresim pres to PHP. Ale napriklad mne to funguje. Pouzivam Chrome.
juriad
Profil
Ano Chrome to umí. Ale žádný Internet Explorer si ani neškrtne.
Já tě jen upozorňuji, ať na to nespoléháš. Pokud jsi si toho vědom, je to v pořádku.
Stejně tato funkcionalita je jen usnadněním, bez kterého web a nabídka vlajek stále funguje obstojně.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: