php ZipArchive addfile не работает

Вот мой код

<?php
error_reporting(-1);
ini_set('memory_limit','1G');

$zip = new ZipArchive();
if ($zip->open(__DIR__.'/xxx.zip') === TRUE) {
        echo __DIR__.'/CPInfo.txt'."\n";
        $zip->addFile(__DIR__.'/CPInfo.txt', 'newname.txt');        
        $x =  $zip->close();
        var_dump($x);
        echo 'ok';
} else {
        echo 'failed';
}
?>

Я выполнил команду

[root@localhost]# php test.php 

И вывод

/data/yyy/CPInfo.txt
bool(true)
ok

Ошибки не добавляются при добавлении TXT в.zip. Когда я открываю xxx.zip, ничего не меняется. Файл xxx.zip содержит более 1000 файлов и 100 папок

Когда я удаляю 900 файлов из xxx.zip и снова запускаю этот скрипт, он работает.

Что я делаю неправильно?

лимит открытия файла

ulimit -a

выход

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 514831
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 99999
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 500000
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

версия php

PHP 5.5.13 (cli) (built: Jun  3 2014 13:27:36) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies

2 ответа

Решение

Я понижаю версию с php55 до php54 и все работает хорошо.

Я попробовал ниже код это нормально работает.

Код:-

<?php

//After zip files are stored in this folder
$file= "/data/yyy/xxx.zip";

$zip = new ZipArchive;
echo "zip started.\n";

if ($zip->open($file, ZipArchive::CREATE) === TRUE) {
        $zip->addFile("/data/yyy/CPInfo.txt");
        }
    $zip->close();
    echo 'done';
?>

Я попытался с одним файлом добавить в zip в xxx.zip файле "CPInfo.txt", он успешно добавлен.

Надеюсь это поможет

Другие вопросы по тегам