2015-04-01 149 views
0

这里是我的代码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'; 
} 
?> 

我已经运行命令

[[email protected]]# php test.php 

,输出是

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

没有错误,同时增加了TXT入给出。压缩。 当我打开xxx.zip时,没有任何更改。 文件xxx.zip包含超过1000个文件和100个文件夹

当我从xxx.zip中删除900个文件并再次运行此脚本时,它是可行的。

我在做什么错?

文件打开跌停

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 
+0

你想添加新的文件到zip文件夹? – RaMeSh 2015-04-01 10:38:09

+0

是的,我想添加CPInfo.txt到xxx.zip – ninja 2015-04-01 10:46:34

+0

你可以重新检查你的ulimit.give它比那些文件更多。 – RaMeSh 2015-04-01 10:47:41

回答

0

我从降级到php55和php54一切运行良好。

0

我曾尝试下面的代码能正常工作。

代码: -

<?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'; 
?> 

我有一个文件,试图加入xxx.zip文件 “CPInfo.txt” 来压缩,它的成功添加。

希望这有助于

+0

谢谢,但它不起作用 – ninja 2015-04-14 01:53:13