Nazwy plików PHP ZipArchive w języku angielskim zwracają funky nazw plików w archiwum
Ten kod działa poprawnie, aby plik ZIP był z pożądanymi plikami, z wyjątkiem nazw plików w archiwum, które nie są w języku angielskim (w tym przypadku są hebrajskie), mają dziwne znaki zamiast właściwych liter hebrajskich.
<?php
$filesfordown = $_POST['GEMin'];
if(empty($filesfordown))
{
echo "No files were seleceted for download.";
}
else
{
$zip_name = "RMW." . time() . ".zip";
$zip = new ZipArchive;
$zip->open($zip_name, ZipArchive::CREATE);
foreach ($filesfordown as $filefordown) {
$zip->addFile($filefordown);
}
$zip->close(); }
header('Content-Type: application/zip');
header("Content-disposition: attachment; filename='$zip_name'");
header('Content-Length: ' . filesize($zip_name));
readfile($zip_name);
ob_flush;
?>
Szukałem czegoś, wydaje się, że może pomóc iconv, setlocalte lub mb_convert_encoding, ale cokolwiek próbowałem, nie działało.
Jakieś pomysły?
P.S. Na marginesie, czy istnieje sposób, aby nie zachowywać struktury katalogów w ZIP?
ETA: przykład$_post
może być www.domain.com/path/ שלום_01. mp3