我可以使用URL添加图像,但不尝试获取本地图像文件。
$portada->addImage('earth.jpg');获取此错误:
默认的PHP异常PhpOffice\PhpWord\Exception\InvalidImageException:“在C:\Users\kaskull\Desktop\symfony\examsgenerator\vendor\phpoffice\phpword\src\PhpWord\Element\Image.php第386行”
我把我的话写在控制器上,所以我的第一个想法应该是这样的:
$portada->addImage('../Resources/Asset/images/logo.png');同样的错误。
编辑:
如果我这样做了:
$path = realpath('../Resources/Asset/images/logo.png');var_dump(is_readable($path));它返回假的
但如果我用这个,它就会运行。
$path=realpath('C:\Users\CARLES\Desktop\symfony\examsfinal\src\AppBundle\Resources\Asset\images\logo.png');发布于 2017-12-14 01:27:52
假设您有以下文件夹结构:
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);PHP中的__DIR__是文件(文档链接)的目录。您需要这样做,因为控制器类是从其他文件上下文执行的。这就是为什么你的相对路径不起作用。
https://stackoverflow.com/questions/47804258
复制相似问题