2017-12-14 30 views
0

URLを使用して画像を追加できますが、ローカル画像ファイルを取得しようとしません。画像を挿入するPhpWord

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

私の最初のアイデアは、それがこのようなものであるべきであるので、私は、コントローラ上で、私の言葉をcreateingよ::

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

同じエラーを取得

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

このエラーを取得します。

EDIT:

私が行う場合:それは

FALSEを返しますが、私はこれを使用している場合、それが実行

$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'); 

答えて

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 

はUPDATE:

あなたのコントローラでこれを試してみてください:PHPで

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

__DIR__はディレクトリですファイルの内容(documentation link)。コントローラクラスは他のファイルコンテキストから実行されるため、これが必要です。それがあなたの相対的な経路が機能しない理由です。

+0

これは正確に私がやっていることと、フォルダがどのように構造化されているのか、私はそのエラーを受けています。 – KaSkuLL

+0

@KaSkuLL私の更新された回答を参照 – zstate

+0

新しい結果で私の質問を編集しました – KaSkuLL