我试图通过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
答案 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
这样的绝对路径,它将不起作用。
我已经对其进行了测试。希望对您有所帮助。