【问题标题】:How to fix Deprecated: Function zip_open() is deprecated in SpreadsheetReader.php如何修复已弃用:SpreadsheetReader.php 中已弃用函数 zip_open()
【发布时间】:2022-10-22 01:16:21
【问题描述】:

我尝试使用 PHP 8.1.0 将 excel 上传到 MySQL DB

  • CSV 格式的 excel 工作正常
  • XLSX 格式的 excel 不工作

在导入 excel 时显示以下已弃用的警告

已弃用:函数 zip_open() 已弃用 C:\MAMP\htdocs\deepu\include\dragan\library\SpreadsheetReader.php

这是我的完整代码:https://coding-zon.blogspot.com/2022/04/import-excel-file-into-mysql-in-php.html

视频:https://www.youtube.com/watch?v=ON4GkIc6two

这是PHP库代码https://github.com/nuovo/spreadsheet-reader

【问题讨论】:

  • 它在该函数的 PHP 文档中说“8.0.0:不推荐使用此函数以支持对象 API,请参阅 ZipArchive::open()。”。看起来该库的作者需要更新他们的代码才能使用新方法。

标签: php


【解决方案1】:

自 PHP 8 起,zip_open 函数已被弃用,取而代之的是 ZipArchive::open()。目前它可以工作,但它将在未来的 PHP 版本中被删除。

https://github.com/nuovo/spreadsheet-reader 库实际上已有 7 年的历史,并且与 PHP 8.0 不完全兼容。这里最好的选择是寻找替代品(它有很多叉子,也许有人在自己维护它)。

你也可以创建自己的分支并在那里使用ZipArchive::open()。但是你不能保证库的其余部分能在现代 PHP 中正常工作。

【讨论】:

    【解决方案2】:

    您可以使用https://github.com/PHPOffice/PhpSpreadsheet 它对我来说效果很好,可以让您非常轻松地提取电子表格! 最重要的是,它得到维护并且完全兼容 PHP 8。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-19
      • 2013-09-01
      • 2020-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多