【问题标题】:Insert Image PhpWord插入图片 PhpWord
【发布时间】:2018-05-28 00:08:44
【问题描述】:

我可以使用 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');

【问题讨论】:

    标签: php image symfony phpword phpoffice


    【解决方案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 中是文件的目录 (documentation link)。您需要它,因为您的控制器类是从其他文件上下文执行的。这就是为什么您的相对路径不起作用的原因。

    【讨论】:

    • 这就是我正在做的事情以及我的文件夹的结构,我得到了那个错误。
    猜你喜欢
    • 1970-01-01
    • 2018-05-27
    • 2013-03-10
    • 2023-03-03
    • 1970-01-01
    • 2012-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多