img src не будет работать с переменными PHP
Вопрос
<a href="'.$productLink.'" alt="'.$productName.'">
<img src="'.$productImg1URL.'" alt="'.$productName.' '.$productType.' ">
</a>
Здравствуйте, img src на самом деле находится в другом каталоге /images.
Я знаю, что это, наверное, очень просто, но я потратил на это час и ничего.Страница работает, но не показывает каталог.Пожалуйста, помогите новичку.Я удалил < перед a href, и img src не смог отобразить страницу.
Решение
Задача №1, когда у вас возникла проблема с кодом, генерирующим HTML, — посмотреть на исходный источник и сравнить его с тем, что вы ожидаете.Подобные проблемы у меня возникали раньше, и они обычно исчезали, когда я переставал думать о коде PHP и смотрел на фактический результат.
Каково содержимое $productImg1URL и если изображения, на которые он ссылается, находятся в URL-адресе, начинающемся с /images/, запускает ли это $productImg1URL.Если это просто имя изображения, но без пути — вам придется поставить его на место.
Другие советы
Есть два способа сделать это:
Во-первых, вне блока кода:
<?php
// code here
?>
<a href="<?= $productLink ?>" alt="<?= $productName ?>">
<!-- or -->
<img src="<?echo $productImgURL; ?> alt="<?php echo $productName . ' ' . $productType ?>">
</a>
Первая форма называется короткий открытый тег и его необходимо включить в вашем php.ini, что почти всегда так и есть.
Или, если вы делаете это внутри блока кода:
<?php
echo <<<END
<a href="$productLink" alt="$productName">
<img src="$productImgLURL" alt="$productName $productType">
</a>
END
А <<<END
это Гередок и я обычно предпочитаю использовать большую строку в двойных кавычках, что требует экранирования содержащихся в них двойных кавычек.