0
我必須更換用戶提交的XLSX文件中的變量和我做這種方式:PHP:荏苒文件,XLSX導致文件變得無效
- 重命名的.xlsx爲.zip
- 解壓到一個臨時文件夾
- 進行必要的更改
- 壓縮檔案
- 重命名的.zip到.xslx
我在PHP中使用普通ZipArchive。當我嘗試在Excel中打開生成的.xlsx時,失敗並顯示消息format or extension invalid
。當我用WinRAR壓縮臨時文件(如zip),並將結果文件重命名爲.xlsx時,它可以工作。使用這兩種方法生成的zip文件包含相同的數據結構和文件,但WinRAR文件稍大(正常壓縮時爲10.2K和10.3K)。
查看文件的亂碼時,我可以看到文件以不同的順序出現,但不知道是否是原因。任何線索將不勝感激。
Zip允許使用幾種不同的壓縮方法。可能生成的壓縮文件不受Office支持,而WinRar使用的是受支持的方法。 – 2010-10-01 04:05:29
如果您在Windows機器上使用ZipArchive,在編寫 – 2010-10-01 08:16:44
時,出現了一些php_zip.dll的bug版本,它會創建損壞的zip文件感謝您的評論 - 但我應該怎麼做?有沒有一個替代PHP的壓縮組件? @Mark Baker:我可以測試zip文件的有效性嗎?在WinRAR中打開ZipArchive生成的文件不會引發錯誤,所以它似乎有效。 – PeerBr 2010-10-01 13:21:29