2016-12-15 2 views
1

Я в основном дизайнер, который вручную кодирует HTML, но это хак, когда дело доходит до PHP. Мне было предложено добавить значки изображений в таблицу результатов поиска товаров на сайте PHP/MySQL, в течение десяти лет у которой было много программистов, что вызывало неряшливый беспорядок кода.PHP if else noimage

Я следующий код в верхней части страницы результатов поиска, взывает имя изображения:

$image2 = $row['item'] . ".jpg"; 
$imagefile2 = $_SERVER['DOCUMENT_ROOT'] . "/product_images/$imagefile2"; 
if(file_exists($imagefile2)){ 

В самой таблице я взломал это, чтобы получить правильное изображение, чтобы показать:

print "<td><center><img src=/product_images/$image2 width=80><br> 

Конечно, если изображение отсутствует, есть сообщение об ошибке. Я не знаю правильного синтаксиса, чтобы сообщить серверу, что если изображение отсутствует, THEN покажет noimage.jpg (находится в той же папке). Это, вероятно, несколько строк добавленного кода в лучшем случае, но после нескольких часов поисков и попыток я сдаюсь.

+0

недостающее линия в приведенной выше таблице "IMG SRC =/product_images/$ image2" –

+0

Ваш '$ imagefile2' линия сбивает с толку. Вы устанавливаете '$ image2', но не используете его – Machavity

+0

Я бы просто использовал mod_rewrite в htaccess в папке' product_images', и если файл не существует, перепишите его на другое изображение. 'RewriteCond% {REQUEST_FILENAME}! -f \ n RewriteRule. noimage.jpg'. Тогда любой url, который не существует в этой папке, показывает noimage. Вы даже можете переписать его на php-скрипт, который регистрирует отсутствующий файл и отправляет noimage. Затем вы можете легко увидеть, какие продукты не имеют изображения или ссылку на неправильное изображение, чтобы исправить это. –

ответ

0

Проверьте, существует ли файл, и если да, установите для него переменную image2. Если он не существует, установите для переменной image2 значение «no image».

if(file_exists($_SERVER['DOCUMENT_ROOT'] . "/product_images/".$row['item'].".jpg")){ 

$image2=$row['item'].".jpg"; 

}else{ 

$image2="/product_images/noimage.png"; 

} 
0
<?php 
if(file_exists($_SERVER['DOCUMENT_ROOT'] . "/product_images/".$row['item'].".jpg")){ 
$image2=$row['item'].".jpg"; 
}else{ 
// Specify No Image File Path to Variable 
$image2="/product_images/noimage.png"; 
} 
?> 

<td><center><img src="<?php echo $image2; ?>" width="80"><br>