Portál AbcLinuxu, 12. května 2025 09:35

Dotaz: PHP vypis adresare...

MaFy avatar 27.1.2010 16:58 MaFy | skóre: 24 | blog: kecy | Praha
PHP vypis adresare...
Přečteno: 1252×
Odpovědět | Admin
Zdravim
mam nize uvedeny zdrojak, ktery mi vypisuje strukturu adresare, a vytvarim tim seznam, ktery pozdeji pouzivam jako menu. To opakovani funkce, je pro to, aby kontakty byly vzdy posledni, ale to neni dulezite. Mam problem s vypisiem adresaru, ktere obsahuji diakritiku. Kodovani mam samozrejmne nastavene. mam chybu hledat v nastaveni serveru, nebo php? Predem dekuji za pomoc..

MaFy
isDir() && !$dir->isDot() && $dir != 'Kontakt') {
            print "$dir";
            foreach (new DirectoryIterator($dir->getPathname()) as $file) {
                if (!$file->isDot() && $file != 'index.php') {
                    $prom=explode(".", $file);
                    $f=$prom[0];
                    print "$f";
                }
            }
            print "";
        }
    }

    $Directory = new DirectoryIterator('DB/content');
    foreach ($Directory as $dir) {
        if ($dir == 'Kontakt') {
            print "$dir";
            foreach (new DirectoryIterator($dir->getPathname()) as $file) {
                if (!$file->isDot() && $file != 'index.php') {
                    $prom=explode(".", $file);
                    $f=$prom[0];
                    print "$f";
                }
            }
            print "";
        }
    }
    ?>
Lidé se dělí do 10 skupin. Na ty, co rozumí binárnímu kódu a na ty ostatní...
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

27.1.2010 17:56 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: PHP vypis adresare...
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co znamená Kodovani mam samozrejmne nastavene ?
Mam problem s vypisiem adresaru, ktere obsahuji diakritiku jaký problém ?
Jaké je locale systému ? a jaké kódování výstupu do prohlížeče ?
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
MaFy avatar 27.1.2010 18:01 MaFy | skóre: 24 | blog: kecy | Praha
Rozbalit Rozbalit vše Re: PHP vypis adresare...
Sorry. Kodovani mam nastavene na utf v te strance, do ktere includuju tento script. A problrm je v tom, ze ty adresare s diakritikou se vypisi, ale bez hackovanych znaku. Misto nich je ctverecek. Locale je samozrejmne cesky...
Lidé se dělí do 10 skupin. Na ty, co rozumí binárnímu kódu a na ty ostatní...
27.1.2010 18:13 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: PHP vypis adresare...
A je locale v kódovaní UTF-8? (nie je napr. v ISO-8859-2?)
27.1.2010 18:15 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: PHP vypis adresare...
A ešte som zabudol: neposiela server aj nejaké predvolené kódovanie (iné ako UTF-8)? V takom prípade niektoré prehliadače použijú prvé kódovanie a niektoré až posledné.
27.1.2010 18:22 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: PHP vypis adresare...
Jaký je výpis přikazu system("echo \$LANG"); ?
Stránka používá header ("Content-Type: text/html; charset=UTF-8"); ?
Stránka používá <meta http-equiv="content-type" content="text/html; charset=utf-8" /> ?
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
MaFy avatar 27.1.2010 20:08 MaFy | skóre: 24 | blog: kecy | Praha
Rozbalit Rozbalit vše Re: PHP vypis adresare...
Pouzivam klasicky meta tag...
Lidé se dělí do 10 skupin. Na ty, co rozumí binárnímu kódu a na ty ostatní...
28.1.2010 13:17 Robbie | skóre: 21 | Praha
Rozbalit Rozbalit vše Re: PHP vypis adresare...
Zkuste se podivat, jestli mate moznost, do nastaveni serveru (ocekavam Apache), jestli nemate aktivni volbu
AddDefaultCharset kodovani
Pokud ano zkuste ji zrusit. Restartujte apache a zkuste skript.
28.1.2010 15:04 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: PHP vypis adresare...
Již to tady padlo viz příspěvek, toto není problém stránka je korektně v prohlížeči detekovaná jako UTF-8, a hlavička dojde UTF-8. :)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
27.1.2010 18:29 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: PHP vypis adresare...
A můžete ještě zkusit detekovat a vypsat print mb_detect_encoding($dir); co to písne na adresář s diakritikou.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
MaFy avatar 27.1.2010 20:06 MaFy | skóre: 24 | blog: kecy | Praha
Rozbalit Rozbalit vše Re: PHP vypis adresare...
Vrati to UTF-8...
Lidé se dělí do 10 skupin. Na ty, co rozumí binárnímu kódu a na ty ostatní...
27.1.2010 20:25 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: PHP vypis adresare...
TAkže je to OK :) text je velmi pravděpodobně UTF-8, je tedy i stránka zobrazována jako UTF-8 ?
Takže je tam jen toto: <meta http-equiv="content-type" content="text/html; charset=utf-8" /> a hlavičku server pošle jakou ?

Pokud se ta stránka zobrazí v prohlížeči, je v prohlížeči vybráno kódování UTF-8 ?
(FF View -» Character encoding)
Je stránka někde k vidění ?
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
MaFy avatar 27.1.2010 20:30 MaFy | skóre: 24 | blog: kecy | Praha
Rozbalit Rozbalit vše Re: PHP vypis adresare...
Ano, vsechny prohlizece spravne detekovali UTF-8. Upnul jsem neco na www.fejt.cz.
Lidé se dělí do 10 skupin. Na ty, co rozumí binárnímu kódu a na ty ostatní...
27.1.2010 20:53 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: PHP vypis adresare...
A pracuje php s UTF8 ? Je správně nastavená znaková stránka i v php ?
27.1.2010 21:05 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: PHP vypis adresare...
To co vidíme na webu je produktem fce explode() ? pokud ano, zkuste to bez ní vypsat.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
MaFy avatar 27.1.2010 21:07 MaFy | skóre: 24 | blog: kecy | Praha
Rozbalit Rozbalit vše Re: PHP vypis adresare...
To uz jsem zkousel - bezezmeny...
Lidé se dělí do 10 skupin. Na ty, co rozumí binárnímu kódu a na ty ostatní...
27.1.2010 21:40 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: PHP vypis adresare...
hm, a co udělá takovýto výpis:
print system('ls "'.$dir->getPathname().'"') . '
'; ?
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
27.1.2010 21:49 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: PHP vypis adresare...
Mělo být:
print system('ls "'.$dir->getPathname().'"') . '<br />';
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
MaFy avatar 27.1.2010 21:52 MaFy | skóre: 24 | blog: kecy | Praha
Rozbalit Rozbalit vše Re: PHP vypis adresare...
Hm, pridal sjem to k tomu scriptu a neudelalo to nic. Jen to odsadilo...
Lidé se dělí do 10 skupin. Na ty, co rozumí binárnímu kódu a na ty ostatní...
28.1.2010 11:34 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: PHP vypis adresare...
Co to ? :)
Tím by se měl vyvolat příkaz ls v systému na ten požadovaný adresář a mělo by to vypsat v řádku ty názvy souborů
Včera jsem to zkusil taky na Debian Lenny-m a jak váš příklad tak i zmiňované ls prošlo vše OK (to Vám nepomůže), přkaz jsem teda zadával napřímo print system('ls /tests/kuk');'

Zkontrolujte ještě jaké má systém $LANG (třeba v terminálu echo $LANG), jsem to zkoušel na systému s cs_CZ.UTF-8
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.