Autor Zpráva
roman.campula
Profil *
Zdavím,
mám uvedený kód. Ten mi bez problémů zabalí složku do archivu ZIP se všemi jejími podsložkami a soubory. Pokud je však v názvech podsložek nebo suborů čeština, zabalený soubor má "rozsypaný" název. Nevíte, co s tím?

class MyZipArchive extends ZipArchive
{
  function addDir($dir, $dir_abs="")
  {
    $dir .= "/";
    if(!is_dir($dir))
    {
      header('Location: /chyba/chyba-serveru');
      die;
    }
    $this->addEmptyDir($dir_abs);
    if($dh = opendir($dir))
    {
      while(($file=readdir($dh)) !== false)
      {
  //      $file = iconv("UTF-8", "Windows-1250", $file);      // toto jsem zkoušel, ale nefunguje
        if($file == "." || $file == "..") continue;
        if(is_dir($dir . $file))
          $this->addDir($dir . $file , $dir_abs . $file . "/" );
        else
          $this->addFile($dir .  $file, $dir_abs . $file);
      }
      closedir($dh);
    }
  }
}
Taps
Profil
roman.campula:
co vytvořit nějakou funkci, která odstraní diakritiky z názvu souborů a adresářů
roman.campula
Profil *
To nechci, chtěl bych to univerzálně zazipovat tak, jak to je.
__construct
Profil
Vo Windowse je štandardným kódovaní na PHP ISO 8859-1
roman.campula
Profil *
Ať je nebo ne, to neřeší tento problém.
__construct
Profil
roman.campula:
Ať je nebo ne, to neřeší tento problém.
Predpokladám, že to skúšaš na localhoste s Windowsom a automaticky Ťa napadne vyskúšať:
iconv("UTF-8", "ISO-8859-1//TRANSLIT", $file);
roman.campula
Profil *
Ano, to jsem zkoušel.
tee.vee
Profil
__construct:
iconv("UTF-8", "ISO-8859-1//TRANSLIT", $file);

Ahoj, nechci zakládat nové vlákno, ale zajímalo by mě jestli už někdo vyřešil zabalení souborů s českou diakritikou tak, aby se z nich nestal rozsypaný čaj. Zkoušel jsem samozřejmě implementovat iconv v různých podobách, nicméně to na výsledné soubory zabalené v zipu vliv nemělo.

Tvořil jsem takovou malou firemní úschovnu pro dokumenty s možností stažení zásilky do zipu. Ano, dalo by se to vyřešit na vstupu funkcí která ořeže mezery a diakritiku, hloupé je to v tom když je to třeba dokumentace nebo soubory, kde je vhodné, aby tam byla v názvu diakritika, tak taková funkce však nejde použít.

Nemá někdo nápad nebo řešení, díky kterému lze zipovat jakékoliv soubory s diakritikou?

Předem díky, Lukáš

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:

0