Невозможно создать плоский zip-файл с помощью PHP ZipArchive

Я пытаюсь создать zip-файл с плоской структурой папок / файлов с помощью PHP ZipArchive, который содержит два файла PDF. Так что в основном оба файла должны находиться в корне zip-файла. Я использую приведенный ниже код для создания zipfile.

$zip = new ZipArchive();

$zip_filename = "zipfile.zip";

if ($zip->open($zip_filename, ZipArchive::CREATE)!==TRUE) {
exit("cannot open <$filename>\n");
}

$zip->addFile("cover_file.pdf", "cover_file.pdf");
$zip->addFile("inlay_file.pdf", "cover_file.pdf");
$zip->close();

Что бы я ни делал, файлы всегда помещаются в папку с именем samen в качестве zip-файла.

Есть ли способ сохранить файлы в корне zip-файла?

Заранее спасибо!

0

Решение

Index.php

<?php

$zip = new ZipArchive();

if (!$zip->open('zipfile.zip', ZipArchive::CREATE))
exit("cannot open <$filename>\n");

$zip->addFromString('test.txt', 'tf is this?');
$zip->close();

Запустить веб-сервер

$ php -S localhost:8000

Вывод zipfile.zip с test.txt в корне.

Структура папок

|--testProject
|----index.php
|----zipfile.zip

zipfile.zip

|--zipfile.zip
|----test.txt

Пример с несколькими файлами

<?php

$zip = new ZipArchive();

if (!$zip->open('zipfile.zip', ZipArchive::CREATE))
exit("cannot open <$filename>\n");

for ($i=0; $i<7; $i++)
$zip->addFromString("test$i.txt", 'tf is this?');

$zip->close();

Выходы

|--zipfile.zip
|----text0.txt
|----text1.txt
|----text2.txt
|----text3.txt
|----text4.txt
|----text5.txt
|----text6.txt

Примечания: Это расширение не имеет директив конфигурации, определенных в php.ini.

Проверено на PHP 5.5.15

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]