相关疑难解决方法(0)

PHP ZipArchive非英文文件名在归档中返回时髦的文件名

此代码可以正常工作,使ZIP文件包含所需文件,除了存档中的文件名,不是英文(在这种情况下,他们是希伯来语),有奇怪的字符而不是正确的希伯来字母.

<?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;
?>
Run Code Online (Sandbox Code Playgroud)

我做了一些搜索,似乎iconv,setlocalte或mb_convert_encoding可能会有所帮助,但无论我尝试什么都行不通.

有任何想法吗?

PS作为一个附带问题,有没有办法不在zip中保留目录结构?

ETA:$_post可能是www.domain.com/path/שלום_01.mp3的一个例子

php hebrew ziparchive

0
推荐指数
1
解决办法
2751
查看次数

标签 统计

hebrew ×1

php ×1

ziparchive ×1