0

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

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

收到此错误:

未捕获的 PHP 异常 PhpOffice\PhpWord\Exception\InvalidImageException: "" at C:\Users\kaskull\Desktop\symfony\examsgenerator\vendor\phpoffice\phpword\src\PhpWord\Element\Image.php 第 386 行

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

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

得到同样的错误。

编辑:

如果我做:

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

它返回 FALSE

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

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

1 回答 1

1

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

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__在 PHP 中是文件的目录(文档链接)。您需要它,因为您的控制器类是从其他文件上下文执行的。这就是为什么您的相对路径不起作用的原因。

于 2017-12-14T01:27:52.153 回答