【问题标题】:Cannot redeclare class Excel error in Codeigniter / PHPExcel无法在 Codeigniter / PHPExcel 中重新声明 Excel 类错误
【发布时间】:2019-01-11 07:54:49
【问题描述】:

我想将一些数据导出到 Excel 文件中,出现此错误。

遇到 PHP 错误 严重性:编译错误

消息:无法重新声明 Excel 类

文件名:libraries/EXcel.php

行号:9

我尝试了一些方法,但没有人适合我的情况。喜欢12

这是我的EXcel.php 代码

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

require_once APPPATH."third_party/PHPExcel/PHPExcel.php";
// var_dump(get_declared_classes());
class Excel extends PHPExcel {
    public function __construct() {
        parent::__construct();
    }
}
?>

出了什么问题,谢谢。

这是我的 Var_dump 结果:

array (size=205)
  0 => string 'stdClass' (length=8)
  1 => string 'Exception' (length=9)
  2 => string 'ErrorException' (length=14)
  3 => string 'Closure' (length=7)
  4 => string 'Generator' (length=9)
  5 => string 'DateTime' (length=8)
  6 => string 'DateTimeImmutable' (length=17)
  7 => string 'DateTimeZone' (length=12)
  8 => string 'DateInterval' (length=12)
  9 => string 'DatePeriod' (length=10)
  10 => string 'LogicException' (length=14)
  11 => string 'BadFunctionCallException' (length=24)
  12 => string 'BadMethodCallException' (length=22)
  13 => string 'DomainException' (length=15)
  14 => string 'InvalidArgumentException' (length=24)
  15 => string 'LengthException' (length=15)
  16 => string 'OutOfRangeException' (length=19)
  17 => string 'RuntimeException' (length=16)
  18 => string 'OutOfBoundsException' (length=20)
  19 => string 'OverflowException' (length=17)
  20 => string 'RangeException' (length=14)
  21 => string 'UnderflowException' (length=18)
  22 => string 'UnexpectedValueException' (length=24)
  23 => string 'RecursiveIteratorIterator' (length=25)
  24 => string 'IteratorIterator' (length=16)
  25 => string 'FilterIterator' (length=14)
  26 => string 'RecursiveFilterIterator' (length=23)
  27 => string 'CallbackFilterIterator' (length=22)
  28 => string 'RecursiveCallbackFilterIterator' (length=31)
  29 => string 'ParentIterator' (length=14)
  30 => string 'LimitIterator' (length=13)
  31 => string 'CachingIterator' (length=15)
  32 => string 'RecursiveCachingIterator' (length=24)
  33 => string 'NoRewindIterator' (length=16)
  34 => string 'AppendIterator' (length=14)
  35 => string 'InfiniteIterator' (length=16)
  36 => string 'RegexIterator' (length=13)
  37 => string 'RecursiveRegexIterator' (length=22)
  38 => string 'EmptyIterator' (length=13)
  39 => string 'RecursiveTreeIterator' (length=21)
  40 => string 'ArrayObject' (length=11)
  41 => string 'ArrayIterator' (length=13)
  42 => string 'RecursiveArrayIterator' (length=22)
  43 => string 'SplFileInfo' (length=11)
  44 => string 'DirectoryIterator' (length=17)
  45 => string 'FilesystemIterator' (length=18)
  46 => string 'RecursiveDirectoryIterator' (length=26)
  47 => string 'GlobIterator' (length=12)
  48 => string 'SplFileObject' (length=13)
  49 => string 'SplTempFileObject' (length=17)
  50 => string 'SplDoublyLinkedList' (length=19)
  51 => string 'SplQueue' (length=8)
  52 => string 'SplStack' (length=8)
  53 => string 'SplHeap' (length=7)
  54 => string 'SplMinHeap' (length=10)
  55 => string 'SplMaxHeap' (length=10)
  56 => string 'SplPriorityQueue' (length=16)
  57 => string 'SplFixedArray' (length=13)
  58 => string 'SplObjectStorage' (length=16)
  59 => string 'MultipleIterator' (length=16)
  60 => string 'ReflectionException' (length=19)
  61 => string 'Reflection' (length=10)
  62 => string 'ReflectionFunctionAbstract' (length=26)
  63 => string 'ReflectionFunction' (length=18)
  64 => string 'ReflectionParameter' (length=19)
  65 => string 'ReflectionMethod' (length=16)
  66 => string 'ReflectionClass' (length=15)
  67 => string 'ReflectionObject' (length=16)
  68 => string 'ReflectionProperty' (length=18)
  69 => string 'ReflectionExtension' (length=19)
  70 => string 'ReflectionZendExtension' (length=23)
  71 => string 'SessionHandler' (length=14)
  72 => string '__PHP_Incomplete_Class' (length=22)
  73 => string 'php_user_filter' (length=15)
  74 => string 'Directory' (length=9)
  75 => string 'ZipArchive' (length=10)
  76 => string 'LibXMLError' (length=11)
  77 => string 'DOMException' (length=12)
  78 => string 'DOMStringList' (length=13)
  79 => string 'DOMNameList' (length=11)
  80 => string 'DOMImplementationList' (length=21)
  81 => string 'DOMImplementationSource' (length=23)
  82 => string 'DOMImplementation' (length=17)
  83 => string 'DOMNode' (length=7)
  84 => string 'DOMNameSpaceNode' (length=16)
  85 => string 'DOMDocumentFragment' (length=19)
  86 => string 'DOMDocument' (length=11)
  87 => string 'DOMNodeList' (length=11)
  88 => string 'DOMNamedNodeMap' (length=15)
  89 => string 'DOMCharacterData' (length=16)
  90 => string 'DOMAttr' (length=7)
  91 => string 'DOMElement' (length=10)
  92 => string 'DOMText' (length=7)
  93 => string 'DOMComment' (length=10)
  94 => string 'DOMTypeinfo' (length=11)
  95 => string 'DOMUserDataHandler' (length=18)
  96 => string 'DOMDomError' (length=11)
  97 => string 'DOMErrorHandler' (length=15)
  98 => string 'DOMLocator' (length=10)
  99 => string 'DOMConfiguration' (length=16)
  100 => string 'DOMCdataSection' (length=15)
  101 => string 'DOMDocumentType' (length=15)
  102 => string 'DOMNotation' (length=11)
  103 => string 'DOMEntity' (length=9)
  104 => string 'DOMEntityReference' (length=18)
  105 => string 'DOMProcessingInstruction' (length=24)
  106 => string 'DOMStringExtend' (length=15)
  107 => string 'DOMXPath' (length=8)
  108 => string 'PDOException' (length=12)
  109 => string 'PDO' (length=3)
  110 => string 'PDOStatement' (length=12)
  111 => string 'PDORow' (length=6)
  112 => string 'SimpleXMLElement' (length=16)
  113 => string 'SimpleXMLIterator' (length=17)
  114 => string 'XMLReader' (length=9)
  115 => string 'XMLWriter' (length=9)
  116 => string 'CURLFile' (length=8)
  117 => string 'COMPersistHelper' (length=16)
  118 => string 'com_exception' (length=13)
  119 => string 'com_safearray_proxy' (length=19)
  120 => string 'variant' (length=7)
  121 => string 'com' (length=3)
  122 => string 'dotnet' (length=6)
  123 => string 'finfo' (length=5)
  124 => string 'GMP' (length=3)
  125 => string 'Collator' (length=8)
  126 => string 'NumberFormatter' (length=15)
  127 => string 'Normalizer' (length=10)
  more elements...

【问题讨论】:

标签: php excel codeigniter phpexcel


【解决方案1】:

Excel 类已在您的项目中声明。

请将控制器的文件名和类名更改为不同的名称。我希望这能解决您的问题。

【讨论】:

  • 非常感谢,我有两个同名文件,但在项目的不同位置,我更改了其中一个,它解决了我的问题
  • @vNasser Ali Karimi 欢迎您!
【解决方案2】:

来源:Bryan Hazelbaker

根据您的操作系统以及您构建文档根路径的方式,路径名称中的大写字母与小写字母可能存在问题。

  1. 将文件从EXcel.php重命名为excel.php(即使用小写)
  2. 确保始终使用require_once(即require_once /path/to/excel.php
  3. 最后您可以使用print_r(get_declared_classes()); 进行上述测试(这可以告诉您第一个包含来自autoload

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    相关资源
    最近更新 更多