PHP没有将XLS文件检测为zip

时间:2014-08-18 12:25:57

标签: php phpexcel ziparchive

我正在使用库来读取内部使用PHP的zip_open()函数的XLS文件。在本地创建文件然后上传到我的测试服务器一切正常。但是,当我使用从网站下载的XLS文件(通过浏览器正常下载)时,它不起作用,而是返回错误19,这意味着该文件不被视为zip文件,这是不正确的。 Excel可以毫无问题地打开文件。如果我在本地将文件重新保存为XLSX文件然后上传它,我会得到相同的错误(在这种情况下,文件由PHP的ZipArchive类打开)。任何想法可能是什么原因?我检查过这些文件不是只读的,可能会设置一些未在Windows中显示的Unix权限? (怀疑这一点,因为错误代码表明文件可以访问,但无法识别为XLS)

使用: Windows下的Apache(WAMP)
PHP 5.4.12

1 个答案:

答案 0 :(得分:0)

似乎我误读了一行代码,只进行了zip检查以确定XLS文件是否是错误命名的XLSX文件。 XLS文件的问题是它在解析时不返回任何工作表,我还需要查看它。我不知道为什么将XLS文件保存为XLSX文件(使用Excel)会导致不正确的ZIP存档,但猜测它是相关的。