doucanshou6998 2017-12-14 00:39
浏览 493
已采纳

插入图片PhpWord

I can add images using URL but not trying to get a local image file.

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

Getting this error:

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

I'm createing my Word on a controller so my first idea is that should be something like this:

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

Getting the same error.

EDIT:

If i do:

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

It returns FALSE

But if i use this, it runs.

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

1条回答 默认 最新

  • dongmuzhan4705 2017-12-14 01:27
    关注

    Let's say you have the following folder structure:

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

    UPDATE:

    Try this in your controller:

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

    __DIR__ in PHP is the directory of the file (documentation link). You need that because your controller class is executed from the other file context. That is why your relative path doesn't work.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?