php ZipArchive 添加文件不起作用
php ZipArchive addfile not work
这是我的代码
<?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 个文件夹
当我从 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
我试过下面的代码,效果很好。
代码:-
<?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" 中的 zip,添加成功。
希望对您有所帮助
我从 php55 降级到 php54,一切正常。
这是我的代码
<?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 个文件夹
当我从 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
我试过下面的代码,效果很好。
代码:-
<?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" 中的 zip,添加成功。
希望对您有所帮助
我从 php55 降级到 php54,一切正常。