ogregor
@ogregor
арендатор vpn сервера debian

Как рещить проблему с кириллицей при создании архивов посредством php zip?

В частности в архив добавляется дамп базы данных в кодировке utf-8 на выходе из архива ломается.

$archiveName = date('YmdHi') . '-' . APP::$conf['location'][1] . '.zip';


    $zip = new ZipArchive;
    $zip->open($archiveName, ZIPARCHIVE::CREATE);

    // create recursive directory iterator
    $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator(ROOT), RecursiveIteratorIterator::LEAVES_ONLY);
    foreach ($files as $name => $file) {
        $filePath = $file->getRealPath();
        $localPath = explode(ROOT, $filePath);

        if ((strpos($filePath, ROOT . '/logs') !== false) || (strpos($filePath, ROOT . '/tmp') !== false)) {
            continue;
        } else {
            if (is_file($filePath)) {
             //   echo mb_substr($localPath[1], 1)."<br>";
                $zip->addFile(mb_substr($localPath[1],1));
            }
        }
    }
    $zip->close();

    header('Content-Type: application/zip; charset=utf-8');
    header('Content-Length: ' . filesize($archiveName));
    header('Content-Disposition: attachment; filename="' . $archiveName.'"');

    readfile($archiveName);
  //  unlink($archiveName);
    rmdir($backupDir);
    exit;
  • Вопрос задан
  • 278 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Ведисофт Екатеринбург
от 25 000 ₽
YCLIENTS Москва
от 200 000 до 350 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
04 мая 2024, в 17:58
10000 руб./за проект
04 мая 2024, в 17:40
1000 руб./за проект
04 мая 2024, в 17:35
150000 руб./за проект