微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHPExcel错误:不建议使用带有花括号的数组和字符串偏移量访问语法

如何解决PHPExcel错误:不建议使用带有花括号的数组和字符串偏移量访问语法

我刚刚将PHPexcel更新为PHPspreadsheet,我发现此错误弹出:

ErrorException(E_DEPRECATED) 不建议使用带有花括号的数组和字符串偏移量访问语法

需要“ Classes / PHPExcel.PHP”;

这是触发上述错误代码的一部分:

文件 project/public/Classes/PHPExcel/Shared/ZipStreamWrapper.PHP

  public function stream_open($path,$mode,$options,&$opened_path)
    {
        // Check for mode
        if ($mode{0} != 'r') { //Error Line
            throw new PHPExcel_Reader_Exception('Mode ' . $mode . ' is not supported. Only read mode is supported.');
        }
 

文件 project/public/Classes/PHPExcel.PHP

/** PHPExcel root directory */
if (!defined('PHPEXCEL_ROOT')) {
    define('PHPEXCEL_ROOT',dirname(__FILE__) . '/');
    require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.PHP'); //Error Line
}

文件 app/Http/Controllers/analyticsAuth/statement.old.PHP

use PHPExcel_Reader_Excel2007;
use PHPExcel; 
use PHPExcel_IOFactory;
use ZipArchive;
require 'Classes/PHPExcel.PHP'; //Error Line

文件 project/public/Classes/PHPExcel/Autoloader.PHP

PHPExcel_Autoloader::Register();
PHPExcel_Shared_ZipStreamWrapper::register(); //Error Line
if (ini_get('mbstring.func_overload') & 2) {
    throw new Exception('Multibyte function overloading in PHP must be disabled for string functions (2).');
}

谢谢

解决方法

可以通过用方括号{}代替大括号[]来解决此问题

我想感谢@HeySora的评论,并指出了在此特定情况下的确切问题。

,

在php 7中不再使用$mode{0}。已弃用。不用使用该$mode[0]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。