Странные символы после расширения создание zip-файла в php

#php #windows #iis #zip #ziparchive

Вопрос:

когда вызывается сценарий создания zip-файла, созданный файл содержит несколько случайных символов в конце, например, «data.zip8Cp785Cd».

    $dir ='../data/data/';
$destination = $dir.'data.zip';

$zip = new ZipArchive();
if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
    echo "Error";
}
$zip->addFile('./data/data.txt','datafile.txt');
$zip->close();
 

Комментарии:

1. Игнорируя ../data/data/ ./data/data.txt различия и, первым параметром addFile() должен быть путь, а не путь и файл

2. Когда я тестирую ваш код, он не создает случайные символы в конце, но неправильно генерирует zip-файл. Затем я делаю некоторые изменения, это может работать и генерировать data.zip без странных персонажей.

3. <?php $zip = новый архив(); $dir =’./данные/данные/’; $destination = $dir.’data.zip’; если($zip->открыть($destination,АРХИВ::СОЗДАТЬ) !== true) { эхо «Ошибка»; } $zip-<?php $zip = новый архив(); $dir =’./данные/данные/’; $destination = $dir.’data.zip’; если($zip->>addFromString(«testfilephp.txt» . time(), «#1 Это тестовая строка, добавленная как testfilephp.txt.n»); $zip->addFromString(«testfilephp2.txt» . time(), «#2 Это тестовая строка, добавленная как testfilephp2.txt.n»); $zip->addFile(‘./data/data.txt»,»datafile.txt»); эхо «numfiles:» . $zip->>numFiles . «n»; эхо «статус:» . $zip->>>статус . «n»; $zip->закрыть(); ?>>

4. @BruceZhang все еще добавляет какой-то звездный характер .