如何在php中解压缩文件
我的图库脚本为我提供了通过zip文件上传一组图像的选项。 当我尝试执行此操作时,会收到错误行: 致命错误:在..中调用未定义的函数:zip_open() 以下是phpinfo的摘录: ZLib支持:已启用 编译版本:1.1.4 链接版本:1.1.4 zlib.output\u压缩:关闭 zlib.output\u compression\u level:-1 zlib.output\u处理程序:无值 Zlib已启用。。那么为什么我会收到这个错误消息呢?如何在php中解压缩文件,php,Php,我的图库脚本为我提供了通过zip文件上传一组图像的选项。 当我尝试执行此操作时,会收到错误行: 致命错误:在..中调用未定义的函数:zip_open() 以下是phpinfo的摘录: ZLib支持:已启用 编译版本:1.1.4 链接版本:1.1.4 zlib.output\u压缩:关闭 zlib.output\u compression\u level:-1 zlib.output\u处理程序:无值 Zlib已启用。。那么为什么我会收到这个错误消息呢? 感谢您的帮助。默认情况下,PHP中的Zip
感谢您的帮助。默认情况下,PHP中的Zip支持未启用。编译php时,需要使用ZZIPlib库和--with zip=[DIR]选项 如果无法安装ZZIPLib,可以使用zip类替代。只是一个例子(不是我写的):
我使用此代码提取zip存档的文件
$zip = new ZipArchive;
if($zip->open($zipname))
{
for($i=0; $i<$zip->numFiles; $i++)
{
echo 'Filename: '.$zip->getNameIndex($i).'<br />';
}
if($zip->extractTo(dirname(__FILE__).'/extracted/')){ echo '<p>FILE EXTRACTED</p>'; }else{ echo '<p>ERROR IN FILE ECTRACTING!</p>'; }
$zip->close();
}
else
{
echo 'Error reading zip-archive!';
}
$zip=新的ZipArchive;
如果($zip->open($zipname))
{
对于($i=0;$inumFiles;$i++)
{
回显“文件名:”。$zip->getNameIndex($i)。
;
}
if($zip->extractTo(dirname(uuu FILE_uu)。'/extracted/'){echo'文件已提取'}否则{echo'文件提取错误!'}
$zip->close();
}
其他的
{
echo“读取zip存档文件时出错!”;
}
提取zip文件的非常简单的代码
$zip = new ZipArchive;
$zip->open('myfile.zip');
$zip->extractTo('./');
$zip->close();
感谢您的回复$zipname表示zip文件路径?是的,例如$zipname=“test.zip”;我把这段代码放到我得到的错误中致命错误:在这里找不到类'ZipArchive',这里是我的代码$filename=”“$zip=new ZipArchive;如果($zip->open($filename)==true){echo“生成文本文件”。对于($i=0;$i<$zip->numFiles;$i++){$entry=$zip->getNameIndex($i);}}}}echo$entry;请参阅@mat的答案。他讲述了如何在PHP中启用Zip支持。您是在本地主机上工作还是在web主机上工作?如果您提供了导致您出现问题的原始示例代码,那么这个问题(在很久以前被问及)可能是一个有效的问题。
$zip = new ZipArchive;
if($zip->open($zipname))
{
for($i=0; $i<$zip->numFiles; $i++)
{
echo 'Filename: '.$zip->getNameIndex($i).'<br />';
}
if($zip->extractTo(dirname(__FILE__).'/extracted/')){ echo '<p>FILE EXTRACTED</p>'; }else{ echo '<p>ERROR IN FILE ECTRACTING!</p>'; }
$zip->close();
}
else
{
echo 'Error reading zip-archive!';
}
$zip = new ZipArchive;
$zip->open('myfile.zip');
$zip->extractTo('./');
$zip->close();