Создание изображения логотипа в электронном письме

У меня проблема с созданием ссылки, когда я пытаюсь отправить электронное письмо. В моем файле .env:

WEB_LOGO = "http://test.loc/build/images/logo.png"

В моем twig.yml

twig:
    globals:
        web_logo: '%env(WEB_LOGO)%'

Мой шаблон электронного письма:

<img align = "center" alt = "" src = "{{ web_logo }}" height = "30">

Проблема в том, что когда я открываю папку / build / images, изображение логотипа выглядит так:

http://test.loc/build/images/logo.12345.png

Но я генерирую вроде:

http://test.loc/build/images/logo.png

Я не могу использовать такое поколение, как {{ absolute_url(asset('build/images/logo.png')) }}, потому что я отправляю электронную почту, используя внешнюю службу, и у меня есть ограничения. Помоги пожалуйста !

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
0
0
37
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я не знаю, есть ли лучший способ сделать это, но я бы использовал компонент Finder, чтобы получить такое имя файла:

$finder = new Finder();
$directory = 'http://test.loc/build/images';
$name = 'logo';
$finder->in($directory)->name("/{$name}/")->files();
$logoFile = iterator_to_array($finder, false)[0];
$logoPath = $logoFile->getRealPath();

Затем вы можете передать переменную $ logoPath в качестве аргумента в свой шаблон веточки.

Конечно, возникнет проблема, если у вас будет несколько файлов с логотипами, например, «logo.1.png», «logo.29.png» и т. д.

Другие вопросы по теме