abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:33 | Zajímavý software

    Hra Mini Thief je na Steamu zdarma napořád, když aktivaci provedete do 24. ledna do 19.00 [ProtonDB].

    Ladislav Hagara | Komentářů: 0
    16.1. 22:00 | IT novinky

    Certifikační autorita Let's Encrypt oznámila, že bude volitelně nabízet krátkodobé certifikáty s šestidenní platností a navíc s možností vystavit je na IP adresu. Zvolit typ certifikátu bude možné v certifikačním profilu ACME.

    Ladislav Hagara | Komentářů: 9
    16.1. 21:22 | IT novinky

    Herní konzole Nintendo Switch 2 byla oficiálně potvrzena. Vyjde letos. Trailer na YouTube. Více ve středu 2. dubna na Nintendo Direct.

    Ladislav Hagara | Komentářů: 0
    16.1. 17:33 | Nová verze

    Byl vydán Linux Mint 22.1 s kódovým jménem Xia. Podrobnosti v přehledu novinek a poznámkách k vydání. Linux Mint 22.1 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 0
    15.1. 19:33 | Nová verze

    Google Chrome 132 byl prohlášen za stabilní. Nejnovější stabilní verze 132.0.6834.83 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 16 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).

    Ladislav Hagara | Komentářů: 0
    15.1. 14:22 | Nová verze

    Byla vydána verze 11.0.0 knihovny libvirt (Wikipedie) zastřešující různé virtualizační technologie a vytvářející jednotné rozhraní pro správu virtuálních strojů. Současně byl ve verzi 11.0.0 vydán související modul pro Python libvirt-python. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    15.1. 14:00 | Nová verze

    Byla vydána nová verze 3.4.0 nástroje pro inkrementální kopírování souborů rsync (Wikipedie). Přehled oprav a vylepšení v souboru NEWS. Řešeno je 6 zranitelností.

    Ladislav Hagara | Komentářů: 0
    15.1. 02:55 | IT novinky

    V srpnu loňského roku byla vyhlášena RP2350 Hacking Challenge aneb oficiální výzva Raspberry Pi na prolomení bezpečnosti mikrokontroléru RP2350. Povedlo se. Včera byli představeni čtyři vítězové a jejich techniky.

    Ladislav Hagara | Komentářů: 21
    15.1. 00:00 | Komunita

    Na čem aktuálně pracují vývojáři open source operačního systému Haiku (Wikipedie)? Byl publikován přehled vývoje za prosinec 2024. Vypíchnuto je začlenění webového prohlížeče Iceweasel, tj. alternativního sestavení Firefoxu.

    Ladislav Hagara | Komentářů: 0
    14.1. 21:44 | Humor

    Tetris a DOOM běžící v pdf. Proč a jak v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 2
    Rozcestník

    Dotaz: Jak nastavit kodovani nazvu souboru pri jeho prenosu?

    9.4.2007 20:05 Pavel
    Jak nastavit kodovani nazvu souboru pri jeho prenosu?
    Přečteno: 543×

    Ahoj, posilam www prohlizeci beznym zpusobem soubor, nasleduje ukazkovy PHP kod, $s je objekt reprezentujici soubor:

    $r = $this->getResponse();
    $r->setHttpHeader('Cache-Control', 'private');
    $r->setHttpHeader('Expires', gmdate('D, d M Y H:i:s') . ' GMT');
    $r->setHttpHeader('Content-Description', 'File Transfer');
    $r->setHttpHeader('Content-Transfer-Encoding', 'binary');
    $r->setHttpHeader('Content-Length', filesize($s->getCesta()));
    $r->setHttpHeader('Content-Disposition', 'attachment; filename="' . $s->getNazev() . '"');

    Problem je v tom, ze nazev souboru (hlavicka Content-Disposition: attachment; filename=<nejaky nazev>), muze obsahovat diakritiku, tudiz bych zaroven prohlizeci potreboval sdelit, jake kodovani je v nazvu souboru pouzito.

    Odpovědi

    regnarg avatar 10.4.2007 12:41 regnarg | skóre: 20 | blog: rm -rf /this/blog
    Rozbalit Rozbalit vše Re: Jak nastavit kodovani nazvu souboru pri jeho prenosu?
    Možná by se dalo využít funkce popsané na http://api.drupal.org/api/4.6/function/mime_header_encode...
    S láskou se nerodíme, ale s láskou se stáváme lidmi. --Simone De Beauvoirová
    10.4.2007 16:54 Pavel
    Rozbalit Rozbalit vše Re: Jak nastavit kodovani nazvu souboru pri jeho prenosu?

    Bohuzel, tohle nefunguje. Timhle zpusobem se bezne koduji neascii retezce v hlavickach e-mailu, ale nejde to pouzit pro prenos souboru (resp. Firefox to vezme, IE zobrazuje kraviny). Dival jsem se do RFC 2183 a tam je primo specifikovano, ze pro parametr filename je vyzadovano US-ASCII. Leda ze by mezitim vyslo novejsi RFC.

    I kdyz pozor, ted jsem narazil na odkaz na Intervalu, kde doporucuji kodovani URL encode. Vyzkouseno, kodovani pomoci funkce urlencode pro zmenu chodi v IE a nechodi ve Firefoxu (vitejte ve svete webu). V IE mam jen misto mezer plusy, coz by nevadilo.

    regnarg avatar 10.4.2007 18:35 regnarg | skóre: 20 | blog: rm -rf /this/blog
    Rozbalit Rozbalit vše Re: Jak nastavit kodovani nazvu souboru pri jeho prenosu?
    Tak už jenom zbývá identifikovat prohlížeč a vybrat kódování, nebo se prostě vyhnout neascii názvům...
    S láskou se nerodíme, ale s láskou se stáváme lidmi. --Simone De Beauvoirová
    10.4.2007 19:49 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Jak nastavit kodovani nazvu souboru pri jeho prenosu?
    Vyřešili jsme to tak, že v IE konvertujeme název do ASCII, v ostatních prohlížečích posíláme kódování.
    11.4.2007 13:18 Pavel
    Rozbalit Rozbalit vše Re: Jak nastavit kodovani nazvu souboru pri jeho prenosu?
    A jakym zpusobem kodovani posilate?
    11.4.2007 14:42 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Jak nastavit kodovani nazvu souboru pri jeho prenosu?
    Printed quotable do UTF-8 (MimeUtility.encodeText(origFilename, "UTF-8", "Q")), pro IE konvertujeme na bezpecne texty pomoci nasledujici konverzni mapy latin2 -> safe
    /**
         * Tabulka pro odstraneni diakritiky a nekterych nebezpecnych znaku (lomitko, uvozovky, backcslash).
         */
        private static final char[] SAFE_FILENAME_LATIN2 =
                ("________________________________" +
                        //mezera zustava, vykricnik take, ale misto uvozovek je apostrof
                        "\u0020!'#$%&'()*+,-." +
                        //lomitko nesmi byt v nazvu souboru nikde --> pouziju carku
                        //take dvojtecku nahradim strednikem
                        ",0123456789;;" +
                        //spicate zavorky nahradim slozenyma (kvuli windows)
                        "{=}" +
                        //kvuli windows nahradim otaznik za vykricnik
                        "!@" +
                        "ABCDEFGHIJKLMNOPQRSTUVWXYZ[" +
                        //misto backslashe je vlnovka
                        "~]^_`" +
                        //svislou caru take nahradim vykricnikem
                        "abcdefghijklmnopqrstuvwxyz{!}~_" +
                        //vsechny dalsi nezname znaky budu vynechavat!
                        "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" +
                        "A\0L\0LS\0qSSTZmZZ\0a\0lqls\0\0sstzqzzRAAAALCCCEEEEIIDDNNOOOOpRUUUUYTsraaaalccceeeeiiddnnoooosruuuuyt\0")
                        .toCharArray();
    11.4.2007 01:12 Ash
    Rozbalit Rozbalit vše Re: Jak nastavit kodovani nazvu souboru pri jeho prenosu?
    Probl. s plusy by možná vyřešil rawurlencode, i když už si to teď moc nevybavuji.
    11.4.2007 14:31 skonciljsem | skóre: 20
    Rozbalit Rozbalit vše Re: Jak nastavit kodovani nazvu souboru pri jeho prenosu?
    Máš pravdu. rawurlencode nahradí nebezpečné znaky escape sekvencemi.
    11.4.2007 16:21 Pavel
    Rozbalit Rozbalit vše Re: Jak nastavit kodovani nazvu souboru pri jeho prenosu?

    Pokusim se shrnout poznatky:

    1. Pro IE se diakritika musi kodovat pomoci rawurlencode() - $r->setHttpHeader('Content-Disposition', 'attachment; filename="' . rawurlencode($s->getNazev()) . '"');
    2. Pro Firefox a Operu staci znakova sada UTF-8, nic dalsiho neni potreba - $r->setHttpHeader('Content-Disposition', 'attachment; filename="' . $s->getNazev() . '"');

    Jeste ale nevim co posilat Konqueroru, ten moji snahu zatim ignoruje.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.