首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用as third_party的CodeIgniter PHPWord

使用as third_party的CodeIgniter PHPWord
EN

Stack Overflow用户
提问于 2014-09-25 13:05:59
回答 1查看 7.6K关注 0票数 3

我正在尝试使用PHPWord,但使用起来有点困难。

这是我在application/libraries/words.php中的代码

代码语言:javascript
运行
复制
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

require_once APPPATH."/third_party/PhpWord/Autoloader.php"; 

\PhpOffice\PhpWord\Autoloader::register(); \\NOT SURE IF THIS IS CORRECT

class Word extends PhpWord { 
    public function __construct() { 
        parent::__construct(); 
    } 
}

基于PHPWord github,我必须这样使用它:

代码语言:javascript
运行
复制
Alternatively, you can download the latest release from the releases page. In this case, you will have to register the autoloader.

require_once 'path/to/PhpWord/src/PhpWord/Autoloader.php';
\PhpOffice\PhpWord\Autoloader::register(); // WHERE SHOULD I PUT THIS?

当我尝试从我的控制器加载库时,如下所示:

代码语言:javascript
运行
复制
$this->load->library('word');

它给我的错误是:

代码语言:javascript
运行
复制
Fatal error: Class 'PhpWord' not found in C:\xampp\htdocs\path\to\application\libraries\Word.php on line 7

我试图扩展Autoloader类,但是PHP仍然抱怨它找不到Autoloader.php。

当我这样做的时候

代码语言:javascript
运行
复制
file_exist(APPPATH."/third_party/PhpWord/Autoloader.php") // Similarly with PhpWord.php

它返回1。

有人知道怎么解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2015-03-01 16:09:16

来自俄罗斯的爱;)在CodeIgniter的库中像这样使用:

代码语言:javascript
运行
复制
<?php 
    if ( ! defined('BASEPATH')) exit('No direct script access allowed');


    require_once  APPPATH.'/libraries/PHPWord/src/PhpWord/Autoloader.php';
    use PhpOffice\PhpWord\Autoloader as Autoloader;
    Autoloader::register();

    class Word extends Autoloader {

    }

    ?>

在类似于示例代码的控制器中:

代码语言:javascript
运行
复制
$this->load->library('word');
/* remove ;)
#require_once 'PHPWord/src/PhpWord/Autoloader.php';
#PhpOffice\PhpWord\Autoloader::register();
*/

// Template processor instance creation
echo date('H:i:s') , ' Creating new TemplateProcessor instance...' ;
$templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor('text.docx');


$templateProcessor->setValue('sss','123');

echo date('H:i:s'), ' Saving the result document...';
$templateProcessor->saveAs('test1.docx');

经过测试,它是有效的!

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26030924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档