Autor Zpráva
Michal Benda
Profil
Dobrý den,

mám PHP script, který vypisuje názvy souborů v adresáři.

<?
$handle=opendir("C:/xampplite/");
    while($file=readdir($handle)){
      if($file!="." && $file!=".."){
        
        if(is_file("C:/xampplite/".$file)){
          echo "C:/xampplite/".$file."<br/>";
        }
      }
    }
    closedir($handle);
?>

Pokud jsou ovšem názvy souborů s diakritikou, tak se vypisují špatně. Jakoby byly v jiné znakové sadě. PHP script je kódován v UTF8.

Díky za odpověď
Anonym
Profil *
Zkus toto a pak napiš, co to dělalo:
<?php
  header('Content-type: text/html; charset=utf-8',true);  
  
  function vypisSoubory ($adresar)
    {
    $files=array();
    $files = glob ($adresar.'*.*');
    foreach ($files as $file) 
      if ($file!="." && $file!="..") echo $file."<br />"; 
    }
    
  vypisSoubory("C:/xampplite/");    
?>
Michal Benda
Profil
pořád mi blbne diakritika
Anonym
Profil *
Napiš příklad nějakého souboru - systém máš windows - podle toho C: nebo ne?
Anonym
Profil *
zkus ještě toto echo utf8_decode($file)
Michal Benda
Profil
windows mam

jako adresář zadám C:/xampplite/htdocs/xampp/php/mosty/bezky/sources/vysledky/

vypisuje:

C:/xampplite/htdocs/xampp/php/mosty/bezky/sources/vysledky/2009.pdf
C:/xampplite/htdocs/xampp/php/mosty/bezky/sources/vysledky/P�espol�k - 2008 - dlouh�.doc

místo aby vypisoval tohle:

C:/xampplite/htdocs/xampp/php/mosty/bezky/sources/vysledky/2009.pdf
C:/xampplite/htdocs/xampp/php/mosty/bezky/sources/vysledky/Přespolák - 2008 - dlouhý.doc
Michal Benda
Profil
když použiji utf8_decode($file)

tak to vypíše tohle

C:/xampplite/htdocs/xampp/php/mosty/bezky/sources/vysledky/2009.pdf
C:/xampplite/htdocs/xampp/php/mosty/bezky/sources/vysledky/P?ol?- 2008 - dlouh?c

utf8_encode($file) zase tohle:

C:/xampplite/htdocs/xampp/php/mosty/bezky/sources/vysledky/2009.pdf
C:/xampplite/htdocs/xampp/php/mosty/bezky/sources/vysledky/Pøespolák - 2008 - dlouhý.doc
Anonym
Profil *
if ($file!="." && $file!="..") echo iconv("WINDOWS-1250", "UTF-8", $file)."<br />";
Michal Benda
Profil
dik moc... už to funguje jak má...
Anonym
Profil *
nz

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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