【发布时间】:2015-04-22 20:14:17
【问题描述】:
我要做的基本上是在我的服务器上提取 Zip 档案的内容。这是一些代码:
$entry="test.zip";
$zip = new ZipArchive;
if ($zip->open($entry,ZIPARCHIVE::OVERWRITE) === TRUE)
{
$zip->extractTo('unpacked');
$zip->close();
}else
{
echo ‘failed’;
}
“解压”目录对每个人都是可写的,并且 ZipArchive 类的所有使用方法都返回 true。然而,没有任何东西被提取。有谁碰巧知道什么可能导致这种行为?任何提示将不胜感激...提前致谢!
【问题讨论】:
-
您的网络服务器的错误日志说什么?如果打开
error_reporting(E_ALL);,是否会显示额外的错误? -
我没有收到错误,当我回显 $zip 时,我得到的只是“真实”......这很奇怪
-
当你
var_dump($zip);时你看到了什么? -
哦--当我使用 var_dump 时,我得到 num_files = 0...这可以解释为什么我返回 true 但没有提取任何内容...但是我的存档肯定包含文件...
-
你试过从命令行运行它吗?运行此 PHP 脚本的进程(可能是您的 Web 服务器)是否具有对 zip 文件的读取权限?有很多基本的事情要检查...而且您确定 NOTHING 是在报告错误吗?