使用PHP从zip存档中获取阿拉伯文件夹名称

时间:2012-09-10 00:54:09

标签: php utf-8 zip

我有一个zip存档,其中包含具有阿拉伯语标题(名称)的文件夹和文件,如:

مجلد جديد، ملف...

我正在尝试使用PHP提取这些文件夹。

问题是:在上传此文件并将其解压缩后,名称将会错过:

مجلد جديد => ê¤é§ ¤§ï§

我正在使用这段代码来提取:

$saved_file_location = $target . $filename;

if(move_uploaded_file($source, $target . $filename)) {
    openZip($saved_file_location);
}

function openZip($file_to_open) {
    global $target;
    global $unique_folder;
            global $changed;
            $zip = new ZipArchive();
        $x = $zip->open($file_to_open);
        if ($x === true) {
            $zip->extractTo($target . $unique_folder);
            $zip->close();

            unlink($file_to_open); #deletes the zip file. We no longer need it.
                            $changed = true;
        } else {
            die("There was a problem. Please try again!");
        }
    }

1 个答案:

答案 0 :(得分:0)

Zip文件不知道文件名的编码。您必须猜测文件名的编码并将其转换为文件系统使用的编码。