|

楼主 |
发表于 2017-4-10 10:43:23
|
显示全部楼层
- A PHP Error was encountered
- Severity: Compile Error
- Message: Cannot redeclare class IOFactory
- Filename: PHPPowerpoint/IOFactory.php
- Line Number: 47
- Backtrace:
复制代码
/*****************报错代码*******************/
- /** PHPPowerPoint */
- require_once PHPPower_BASE_PATH.'PHPPowerPoint.php';
- /** PHPPowerPoint_IWriter */
- require_once PHPPower_BASE_PATH.'PHPPowerPoint/Writer/IWriter.php';
- /** PHPPowerPoint_IReader */
- require_once PHPPower_BASE_PATH.'PHPPowerPoint/Reader/IReader.php';
- /**
- * PHPPowerPoint_IOFactory
- *
- * @category PHPPowerPoint
- * @package PHPPowerPoint
- * @copyright Copyright (c) 2009 - 2010 PHPPowerPoint (http://www.codeplex.com/PHPPowerPoint)
- */
- class IOFactory
- { //报错行在这个位置----47行
- /**
- * Search locations
- *
- * @var array
- */
- private static $_searchLocations = array(
- array( 'type' => 'IWriter', 'path' => 'PHPPowerPoint/Writer/{0}.php', 'class' => 'PHPPowerPoint_Writer_{0}' ),
- array( 'type' => 'IReader', 'path' => 'PHPPowerPoint/Reader/{0}.php', 'class' => 'PHPPowerPoint_Reader_{0}' )
- );
-
- /**
- * Autoresolve classes
- *
- * @var array
- */
- private static $_autoResolveClasses = array(
- 'Serialized'
- );
-
- /**
- * Private constructor for PHPPowerPoint_IOFactory
- */
- //public function __construct() { }
-
- /**
- * Get search locations
- *
- * @return array
- */
- public static function getSearchLocations() {
- return self::$_searchLocations;
- }
-
- /**
- * Set search locations
- *
- * @param array $value
- * @throws Exception
- */
- public static function setSearchLocations($value) {
- if (is_array($value)) {
- self::$_searchLocations = $value;
- } else {
- throw new Exception('Invalid parameter passed.');
- }
- }
-
- /**
- * Add search location
- *
- * @param string $type Example: IWriter
- * @param string $location Example: PHPPowerPoint/Writer/{0}.php
- * @param string $classname Example: PHPPowerPoint_Writer_{0}
- */
- public static function addSearchLocation($type = '', $location = '', $classname = '') {
- self::$_searchLocations[] = array( 'type' => $type, 'path' => $location, 'class' => $classname );
- }
-
- /**
- * Create PHPPowerPoint_Writer_IWriter
- *
- * @param PHPPowerPoint $PHPPowerPoint
- * @param string $writerType Example: PowerPoint2007
- * @return PHPPowerPoint_Writer_IWriter
- */
- public static function createWriter(PHPPowerPoint $PHPPowerPoint, $writerType = '') {
- // Search type
- $searchType = 'IWriter';
-
- // Include class
- foreach (self::$_searchLocations as $searchLocation) {
- if ($searchLocation['type'] == $searchType) {
- $className = str_replace('{0}', $writerType, $searchLocation['class']);
- $classFile = str_replace('{0}', $writerType, $searchLocation['path']);
-
- if (!class_exists($className)) {
- require_once($classFile);
- }
-
- $instance = new $className($PHPPowerPoint);
- if (!is_null($instance)) {
- return $instance;
- }
- }
- }
-
- // Nothing found...
- throw new Exception("No $searchType found for type $writerType");
- }
-
- /**
- * Create PHPPowerPoint_Reader_IReader
- *
- * @param string $readerType Example: PowerPoint2007
- * @return PHPPowerPoint_Reader_IReader
- */
- public static function createReader($readerType = '') {
- // Search type
- $searchType = 'IReader';
-
- // Include class
- foreach (self::$_searchLocations as $searchLocation) {
- if ($searchLocation['type'] == $searchType) {
- $className = str_replace('{0}', $readerType, $searchLocation['class']);
- $classFile = str_replace('{0}', $readerType, $searchLocation['path']);
-
- if (!class_exists($className)) {
- require_once($classFile);
- }
-
- $instance = new $className();
- if (!is_null($instance)) {
- return $instance;
- }
- }
- }
-
- // Nothing found...
- throw new Exception("No $searchType found for type $readerType");
- }
-
- /**
- * Loads PHPPowerPoint from file using automatic PHPPowerPoint_Reader_IReader resolution
- *
- * @param string $pFileName
- * @return PHPPowerPoint
- * @throws Exception
- */
- public static function load($pFilename) {
- // Try loading using self::$_autoResolveClasses
- foreach (self::$_autoResolveClasses as $autoResolveClass) {
- $reader = self::createReader($autoResolveClass);
- if ($reader->canRead($pFilename)) {
- return $reader->load($pFilename);
- }
- }
-
- throw new Exception("Could not automatically determine PHPPowerPoint_Reader_IReader for file.");
- }
- }
复制代码 |
|