使用PHPExcel时未找到类“ZipArchive”错误

时间:2014-10-30 01:55:36

标签: php phpexcel php-5.2

当我在新服务器上使用PHPExcel时, 我遇到了错误" Class' ZipArchive'找不到"它似乎被我的托管服务提供商阻止了。

我不能在没有Zip支持的服务器上使用PHPExcel吗? PHP 5.2.8安装在此服务器上,但我不能使用PHPExcel的基本PHP源代码。

任何帮助将不胜感激, 感谢。

1 个答案:

答案 0 :(得分:8)

某些电子表格文件格式(如Excel 2007及以上版本的默认格式使用的OfficeOpenXML)需要ZipArchive。在最新版本的PHP中,ZipArchive始终可用,但在PHP 5.3之前,它需要在某些系统上手动安装为PHP扩展。

如果您没有为PHP安装/启用ZipArchive,并且无法自行启用,那么您可以使用

PHPExcel_Settings::setZipClass(PHPExcel_Settings::PCLZIP);

PCLZip包含在PHPExcel发行版中,作为PHP内置ZipArchive类的替代品,虽然速度相当慢。即使没有ZipArchive,启用PCLZip也可以使用基于zip的电子表格格式。

然而,当我们第一次捆绑PCLZip(最初在PHPExcel 1.7.6中)时,它只是在编写基于zip的格式时的选项,而不是在阅读时。我们在PHPExcel 1.8.0中对此进行了更改,因此启用PCLZip现在可以读取基于zip的格式以及编写它们。

PHPEXcel Reader文档详细介绍了不同的电子表格格式,并解释了哪些是基于zip的。 PHPEXcel Reader documentation