【发布时间】:2014-11-03 20:14:34
【问题描述】:
我正在尝试让基本的 PHP zip 函数在 Windows 服务器上运行,但没有成功。
甚至 PHP.net 上 Zip 存档部分中的以下最简单示例也不起作用:
<?php
$zip = new ZipArchive;
if ($zip->open('D:\rootfolder\path_to_files\test.zip') === TRUE) {
if($zip->addFile('D:\rootfolder\path_to_files\newfile.txt', 'newname2.txt')) {
echo 'worked like a charm';
} else {
echo 'Could not add the file';
}
$zip->close();
} else {
echo 'failed';
}
?>
在上面的简单示例中,如果 zip 文件 test.zip 不存在,它会回显“失败”,但如果它确实存在,它会回显“就像一个魅力'无论要添加的文件(新文件)是否存在。 但最糟糕的是它不会创建 zip!
我认为这与权限无关,因为我可以成功使用 fwrite 和其他文件功能。
现在我没有看到任何关于 zip 构建的提及('--with-zip=/hsphere/etc) 在 php 信息页面的配置命令部分,所以我不能 100% 确定扩展是否正确,但这里有一些更详细的信息 phpinfo( ):
服务器: Windows Server 2008 R2 Standard Edition Service Pack 1
PHP: 版本 5.4.14
Zip: 是已启用且版本为 1.11.0
zlib.output_compression: 关闭
zlib.output_compression_level: -1
zlib.output_handler:没有价值
【问题讨论】: