插入图片 PhpWord

Insert Image PhpWord

我可以使用 URL 添加图像,但不能尝试获取本地图像文件。

$portada->addImage('earth.jpg');

出现此错误:

Uncaught PHP Exception PhpOffice\PhpWord\Exception\InvalidImageException: "" at C:\Users\kaskull\Desktop\symfony\examsgenerator\vendor\phpoffice\phpword\src\PhpWord\Element\Image.php line 386

我正在控制器上创建我的 Word,所以我的第一个想法应该是这样的:

$portada->addImage('../Resources/Asset/images/logo.png');

出现同样的错误。

编辑:

如果我这样做:

$path = realpath('../Resources/Asset/images/logo.png');var_dump(is_readable($path));

它returns假

但是如果我使用它,它就会运行。

$path=realpath('C:\Users\CARLES\Desktop\symfony\examsfinal\src\AppBundle\Resources\Asset\images\logo.png');

假设您有以下文件夹结构:

C:\Users\kaskull\Desktop\symfony\examsgenerator\src\AppBundle\Controllers\MyController.php

C:\Users\kaskull\Desktop\symfony\examsgenerator\src\AppBundle\Resources\Asset\images\logo.png

更新:

在你的控制器中试试这个:

$path = realpath(__DIR__ . '/../Resources/Asset/images/logo.png');
$portada->addImage($path);

__DIR__ in PHP 是文件(documentation link)的目录。您需要它,因为您的控制器 class 是从其他文件上下文执行的。这就是为什么你的相对路径不起作用。