如何通过Codeigniter

时间:2017-05-30 05:43:32

标签: codeigniter docx phpword

我试图通过PHP Word库读取项目文件夹中的.docx文件。我已经包含了这样的自动加载器:  我的控制器中include_once 'vendor/autoload.php';

控制器中的功能代码:

function test_phpword()
{
 $a=base_url();
 $path=$a."".'123.docx';
 $source =$path;

 echo date('H:i:s'), " Reading contents from `{$source}`";
 $phpWord = \PhpOffice\PhpWord\IOFactory::load($source);

 echo write($phpWord, basename(__FILE__, '.php'), $writers);
}

但是如下所示:

  

06:18:42阅读http://localhost/myproject/123.docx

的内容      

致命错误:未捕获异常:找不到存档文件。在/opt/lampp/htdocs/myproject/vendor/phpoffice/common/src/Common/XMLReader.php:51

2 个答案:

答案 0 :(得分:0)

试试这个

更改

$path=$a."".'123.docx';

$path='123.docx';

将123.docx放在php脚本文件旁边。确保这两个文件在同一个地方。再次运行你的php脚本。

如果这有用并且工作正常,您可以检查文件路径并对您的php程序进行适当的更改。

答案 1 :(得分:0)

在加载路径时,您必须提供doc文件的相对路径,如下所示,

$random_name = 123.docx;
$contents = \PhpOffice\PhpWord\IOFactory::load('../uploads/'.$random_name);

我不知道您的$base_url是什么,但是如果它是像http://path/to/doc/file这样的绝对路径,它将不起作用。

我已经对其进行了测试。希望对您有所帮助。